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

这是为啥两个应该等价啊

class Person(object):

    def __init__(self, name, gender, birth, **kw):

        self.name = name

        self.gender = gender

        self.birth = birth

        for key in kw:

            setattr(self, key, kw[key])


xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student')


print xiaoming.name

print xiaoming.job


这个可以

class Person(object):

    def __init__(self, name, gender, birth, **kw):

        self.name = name

        self.gender = gender

        self.birth = birth

        for key in kw:

            self.key = kw[key]


xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student')


print xiaoming.name

print xiaoming.job


这个就不行。。为啥


正在回答

1 回答

self.key = xxx就是设置key属性为xxx了, 注意这里的self.key就是key属性, 而不是你想的key in kw所代表的key

1 回复 有任何疑惑可以回复我~
#1

_endid3758465 提问者

就是key不是key所指向的值是吧 。懂了谢谢
2017-07-24 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这是为啥两个应该等价啊

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号