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

  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • DeAdPiXel6667

    DeAdPiXel666

    2 Ocak 2010
  • njhaley

    njhaley

    24 NİSAN 2006