为了账号安全,请及时绑定邮箱和手机立即绑定

请教一下这是什么意思啊

for k,v in kw.iteritems():

            setattr(self,k,v)

什么意思

正在回答

2 回答

你会看到有些可变参数使用的是*args, 有些使用的是**kwargs,区别在于 

*args是接收元组类型的参数

**kwargs是接收字典类型的参数 

剩下的自己理解,age = 18 相当于一个key:values的字典

0 回复 有任何疑惑可以回复我~
**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.


4 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

请教一下这是什么意思啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信