Django与争论** kwargs

时间:2012-03-28 16:25:55

标签: python django syntax

  

可能重复:
  What does *args and **kwargs mean?
  Understanding kwargs in Python

我在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()

我的问题是:明星在论证的名义中意味着什么。 C中有指针吗? 感谢

2 个答案:

答案 0 :(得分:1)

如果使用以下参数调用save:

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

然后args将等于(1,2,3,4),即Tuple kwargs等于{'a':20,'b':30,'c':40}dictionary

这些*和**符号用于在Python中收集参数,它们不是指针。

答案 1 :(得分:0)

它是一个python参数语法:

  • * args - 未命名参数列表
  • ** kwargs - 字典(命名参数)