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

  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • theKGB65

    theKGB65

    24 Aralık 2007
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009