SORU
13 EYLÜL 2009, Pazar


Python normal tartışmalar vs. anahtar kelime argümanlar

Biri bana farkları açıklayabilir mi? Tüm argümanlar "anahtar kelime argümanlar" değil mi? Onlar adları ve konumu yerine öyle bir isim atanabilir. Anahtar kelime argümanlar varsayılan değerlerine sahip olanlar mı? (Not: saf python, C) bahsediyorum

Teşekkürler.

EDİT: ben sadece her iki tür yok olmuştur:

def func(*args, **kwargs):   ---->  args: positional kwargs:keyword
res = calc(1, 3, spam="eggs")       ---->  1, 3: positional spam="eggs": keyword

İkinci bahsediyordum, ama uygulanmasına karar olmakla değil, düşünme yöntemini çağırın.

CEVAP
13 EYLÜL 2009, Pazar


ilgili iki kavram vardır, hem de "anahtar kelime argümanlar".

Diğer yorumların bahsetmiş ne arıyor yanında, adı ile bazı işlev bağımsız değişkenleri belirtmek için yeteneği var. İsimler olmadan bağımsız değişkenler (konum bağımsız değişkenleri) sonra onlara söz var, ve hiç almayan herhangi bir parametre için varsayılan değerler olmalı.

Adı parametre alan bir fonksiyon tanımlayabilirsiniz ve hatta bu isimleri nelerdir belirtmek zorunda değilsin. diğer kavramı, fonksiyon tanım tarafında: Bu saf anahtar kelime argümanlar ve positionally geçirilebilir. Sözdizimi

def my_function(arg1, arg2, **kwargs)

Bu fonksiyon içine geçmesi herhangi bir anahtar kelime argümanlar bir sözlük kwargs adlı içine yerleştirilir. Çalışma zamanı, bu gibi bu sözlüğün anahtarlarını inceleyebilirsiniz:

def my_function(**kwargs):
    print str(kwargs)

my_function(a=12, b="abc")

{'a': 12, 'b': 'abc'}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • Mindy

    Mindy

    20 NİSAN 2006
  • Modus Recordings

    Modus Record

    26 Kasım 2008