django教程中的Python语法

时间:2015-04-26 17:54:16

标签: python django django-models

我正在阅读教程[这里](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')

2 个答案:

答案 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