for k, v in kw.iteritems(): setattr(self, k, v)求解这两行代码
for k, v in kw.iteritems(): setattr(self, k, v) 为什么有k,v两个参数 为什么使用kw.iteritems()有什么作用 第二行代码是设置新的属性,还是前面的问题,为什么不是一个一个的
for k, v in kw.iteritems(): setattr(self, k, v) 为什么有k,v两个参数 为什么使用kw.iteritems()有什么作用 第二行代码是设置新的属性,还是前面的问题,为什么不是一个一个的
2019-03-13
**kw这里其实关注的是**这两个代表着关键字参数,kw是可以我们自己命名的,一个*表示的是可变参数,可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple,而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict for k, v in kw.iteritems(): 这里的作用是循环,赋值,因为KW是两个**的,所以在P那一列赋值的时候必须使用age=18,这样的格式age就相当于name,18就相当于'Male',然后系统会检查这个赋值后,后面还有没有,有的话继续赋值,但是都必须符合那个规格来。 setattr(self, k, v) 这里的作用是在实列__init__中添加一个age,在给它赋值18.
举报