Discuss / Python / User类没有__init__方法也可以传入参数吗?

User类没有__init__方法也可以传入参数吗?

Topic source

class User(Model):

定义类的属性到列的映射:

id = IntegerField('id') name = StringField('username') email = StringField('email') password = StringField('password')

创建一个实例:

u = User(id=12345, name='Michael', email='test@orm.org', password='my-pwd')

保存到数据库:

u.save()

User类没有init方法也可以传入参数吗?

User类没有init方法也可以传入参数吗?

User类没有init方法也可以传入参数吗?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

没有定义__init__就用父类的__init__

xh1878010

#3 Created at ... [Delete] [Delete and Lock User]

我也在这一段代码卡住了,User类中的id,name,email和password这个几个变量,与创建实例时u的id,name,email和password这几个变量有什么区别吗?

廖雪峰

#4 Created at ... [Delete] [Delete and Lock User]

类的变量不是实例变量,它是用来定义表的字段的

houbo111

#5 Created at ... [Delete] [Delete and Lock User]

User调用了Model的'init'方法,而Model又调用了dict的'init'方法,而dict的'init'方法是'init(**kw)',所以最后把u=User()括号里的内容生成了一个字典


  • 1

Reply