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

  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • GenTechPC

    GenTechPC

    1 Temmuz 2007