2012-03-28 32 views
-1

可能重複:
What does *args and **kwargs mean?
Understanding kwargs in Python的Django與參數** kwargs

我發現像Django框架一些奇怪的語法:

class Blog(models.Model): 
    name = models.CharField(max_length=100) 
    tagline = models.TextField() 

    def save(self, *args, **kwargs): 
     do_something() 
     super(Blog, self).save(*args, **kwargs) # Call the "real" save() method. 
     do_something_else() 

我問題是:星星是以什麼名義表示的gument。 C中有指針嗎? 感謝

+2

讀到過:HTTP:// WWW .saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/ – Blender 2012-03-28 16:27:48

+0

也讀過類似的問題,例如http://stackoverflow.com/questions/3394835/args-and-kwargs – 2012-03-28 16:32:43

+0

另外:http://stackoverflow.com/questions/287085/what-does-args-and-kwargs-mean – alan 2012-03-28 16:32:47

回答

0

如果調用保存使用這些參數:

save(1,2,3,4,a=20,b=30,c=40) 

然後args將等於(1,2,3,4)Tuplekwargs將等於{'a':20,'b':30,'c':40}一個dictionary

這些*和**符號用於在Python中收集參數,它們不是指針。

+0

非常感謝您的回答! – nam 2012-03-30 21:58:41

0

這是一個Python語法參數:

  • * ARGS - 的未命名的參數
  • ** kwargs清單 - 在這裏詞典(命名參數)