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

这是为啥两个应该等价啊

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进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

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

进入课程

这是为啥两个应该等价啊

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