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

  • BSA

    BSA

    9 NİSAN 2012
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • warningthepeople

    warningthepe

    21 EYLÜL 2011