问答详情
源自:3-5 Python获取对象信息

s.name就可以给出对象s的name属性了,为啥还要用getattr(s,name)这么麻烦的方法?

>>> getattr(p, 'name') # 获取name属性
'Alice'
>>> setattr(p, 'name', 'Adam') # 设置新的name属性
>>> s.name
'Adam'


既然s.name就可以给出对象s的name属性了,为啥还要用getattr(s,name)这么麻烦的方法?

(就要多打很多字,还要特意记住这个方法)

提问者:葡萄葡萄 2020-10-05 12:52

个回答

  • 慕无忌7352881
    2022-02-19 17:33:21

    比如'name'等均是字符串输入而不是参数原类型,有些场景不一定知道有什么参数

  • 不做实力派的型男不改昵称
    2021-01-17 19:06:44

    可以根据字符串来取值,在动态增删属性上非常有用

  • 新大宏
    2020-10-27 15:36:29

    用于循环取值用,方便快捷

  • 新大宏
    2020-10-27 15:20:58

    表示关注