2015-04-26 33 views
-2

我讀教程[這裏](https://docs.djangoproject.com/en/1.8/intro/tutorial01/Python語法

,無法理解這種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

對象創建?命名參數? –

+0

@BenjaminGruenbaum不完全,請參閱我上面的編輯。 – abc

+0

這就是所謂的ORM,這是一個替換sql語句的對象 – Abdelouahab

回答

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

1

Django的models.Model採取*args**kargs,並使用setattr初始化對象的值。