zoukankan      html  css  js  c++  java
  • python的getattr()

    函数原型:

    getattr(object, name[, default])

    name:str类型

    default:如果不存在name属性,设置default则返回default,不设置返回AttributeError.

    class A:
        name = "A"
        def get_name(self):
            print(self.name)
    
    #这里的成员变量和成员函数都被称为属性 a
    = A() na = getattr(a, "name") #输出:A 获得name属性 print(na) fun = getattr(a, "get_name") #输出:<bound method A.get_name of <__main__.A object at 0x0000000000A7A0F0>> 获得函数属性 print(fun)

    getattr(a, 'bar2', 3) # 属性 bar2 不存在,但设置了默认值



    与__getattr__的区别:
    • __getattr__是类的内置方法,当找不到某个属性时会调用该方法;找到就不会调用.
    • getattr与类无关.
    • 一个例子:作为data的代理类,可以以这种方式来使用data的属性.
    • class DataProxy(...):
      
          def __getattr__(self, item):
              return getattr(self.data, item)
    新战场:https://blog.csdn.net/Stephen___Qin
  • 相关阅读:
    链表的常用操作
    android简易论坛的制作
    Bmob后端云的使用
    马哥第九周
    马哥第八周
    马哥第七周
    马哥第六周
    马哥第五周
    马哥第四周
    马哥第三周
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/10289591.html
Copyright © 2011-2022 走看看