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

  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • SVB International

    SVB Internat

    29 EKİM 2011