我正在阅读教程[这里](https://docs.djangoproject.com/en/1.8/intro/tutorial01/)
无法理解这个python语法:
>>> q = Question(question_text="What's new?", pub_date=timezone.now())
这适用于Python 2.7。从来没有见过这个。
这是问题类:
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
答案 0 :(得分:1)
Django models.Model
选择*args
和**kargs
,并使用setattr
初始化对象值。
答案 1 :(得分:1)
python中的这种语法称为named arguments
。
例如
class Myclass:
def __init__(self, *l, **d):
print d
>>>Myclass(arg1="val1", arg2="val2")
{'arg1': 'val1', 'arg2': 'val2'}
通过这种方式Django models.Model取*args
和**kargs
。