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

在python3中的类中使用**kw解析不了,并且会报错...

如题。。。https://img1.sycdn.imooc.com//5ce62e37000121e603630174.jpg

正在回答

3 回答

class Person(object):
    def __init__(self, name, gender, birth, **kw):         # 使用 **kwargs 输入dict,然后用setattr(self,k,v)设置任意属性;
        self.name = name
        self.gender = gender
        self.birth = birth
        for k, v in kw.items():
            setattr(self, k, v)
            
          # 在python3中,使用**kw,或者**kwargs都可以,但是iteritems已经不能用了,都被items取代了。


1 回复 有任何疑惑可以回复我~
for k, v in kw.items():


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

weixin_慕尼黑7272610

对 python3 中不能用 iteritems 只能是 items
2019-05-29 回复 有任何疑惑可以回复我~

从报错来看,是说“尝试访问未知的dict(字典)参数”。**kw是表示关键字参数,一般都会用来表示字典。*args会用来表示tuple元组。你是不是没有在for k,v in kw.iteritems(): setattr(self,k,w),申明字典参数的值?

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

举报

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

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

进入课程

在python3中的类中使用**kw解析不了,并且会报错...

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