SORU
9 Mayıs 2011, PAZARTESİ


Değişken uzunlukta konumsal tartıştıktan sonra Python, varsayılan anahtar kelime argümanlar

Düşündüm kullanabileceğimi adlı parametrelerin sonra değişken uzunlukta konumsal parametreler içinde bir işlev çağrısı, ama ben bir sözdizimi hatası olduğunda ithal eden bir python sınıf yazıyorum aşağıdaki "get" yöntemi, örneğin:

class Foo(object):
    def __init__(self):
        print "You have created a Foo."

    def get(self,*args,raw=False,vars=None):
        print len(args)
        print raw
        print vars

Hata gibi görünüyor:

def get(self,*args,raw=False,vars=None):
                     ^
SyntaxError: invalid syntax

Yöntem çeşitli yollarını aramak mümkün olmak istiyorum

f = Foo()
f.get(arg1,arg2)
f.get(arg1,raw=True)
f.get(arg1,arg2,raw=True,vars=something)

...vb.

Elimden geldiğince RTFM ettim, ama bu işe yaramaz neden oldukça tıklatın değil. Yardımlarınız için şimdiden teşekkürler.

-j

CEVAP
9 Mayıs 2011, PAZARTESİ


İş, ama sadece Python 3'te yok. PEP 3102 bkz. "" Belgeler, 2.hayır var ne bakarak yerinden x, dahil şansın yok. Bunu kabul etmelisin herhangi bir anahtar kelime argümanlar (**kwargs) ve el ile ayrıştırma (kullanabilirsiniz d.get(k, default) de d[k] default eğer yok).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006