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

  • David Wills

    David Wills

    31 Aralık 2007
  • sghaff1

    sghaff1

    23 Mart 2009
  • Valdorsha

    Valdorsha

    8 Mayıs 2006