Django带有参数**kwargs。

8 浏览
0 Comments

Django带有参数**kwargs。

此问题已在其他地方得到解答:

可能是重复问题:

*args和**kwargs是什么意思?

理解Python中的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()

我的问题是:在参数名称中星号代表什么意思?这与C语言中的指针有关吗?

谢谢

admin 更改状态以发布 2023年5月21日
0
0 Comments

这是Python的参数语法:

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

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

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