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

  • Autocar

    Autocar

    11 Mart 2006
  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011