SORU
17 Ocak 2013, PERŞEMBE


-≫ Python fonksiyon tanımları ne anlama geliyor?

Son zamanlarda Python 3.3 grammar specification bakarken ilginç bir şey fark ettim:

funcdef: 'def' NAME parameters ['->' test] ':' suite

İsteğe bağlı 'ok' blok Python 2'de yoktu ve herhangi bir bilgi Python 3 anlamı ile ilgili bulamadım. Bu belki de doğru olduğu ortaya çıktı ve tercüman tarafından kabul edildi:

def f(x) -> 123:
    return x

Bu önkoşul bir sözdizimi bir tür, ama olabileceğini düşündüm

  • Ben buraya x test, hala tanımlanmamış, at
  • Oku sonra koydum ne olursa olsun (örneğin 2 < 1) işlevi davranış. etkilemez

Herkes bu sözdizimi ile alışık bunu açıklayabilir mi?

CEVAP
17 Ocak 2013, PERŞEMBE


function annotation.

Daha ayrıntılı olarak, 2 Python.x nesne türleri için meta verileri bir dize eklemek için izin docstrings vardır. Bu inanılmaz kullanışlı, Python 3 fonksiyonları, parametreleri ve dönüş değerleri açıklayan meta veri eklemek için izin vererek bu özelliği uzanır.

Önyargılı kullanma durumu yok, ama MORAL verici birkaç öneriyor. Çok kullanışlı bir bir beklediğin çeşitleri ile parametreleri açıklamak için izin ver; o zaman bu açıklamaları doğrular veya doğru tür bağımsız değişkenler için zorlayan bir dekoratör yazmak kolay olurdu. Başka bir Fibonacci sayıları içine kodlama yerine parametre özgü belgelerine izin vermektir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boniver

    boniver

    17 NİSAN 2006
  • monkophile

    monkophile

    25 Temmuz 2007
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008

İLGİLİ SORU / CEVAPLAR