葡萄葡萄
2020-10-05 12:52
>>> getattr(p, 'name') # 获取name属性 'Alice' >>> setattr(p, 'name', 'Adam') # 设置新的name属性 >>> s.name 'Adam'
既然s.name就可以给出对象s的name属性了,为啥还要用getattr(s,name)这么麻烦的方法?
(就要多打很多字,还要特意记住这个方法)
比如'name'等均是字符串输入而不是参数原类型,有些场景不一定知道有什么参数
可以根据字符串来取值,在动态增删属性上非常有用
用于循环取值用,方便快捷
表示关注
Python3 进阶教程(新版)
41910 学习 · 236 问题
相似问题