''' def getattr(object, name, default=None): # known special case of getattr """ getattr(object, name[, default]) -> value 参数: object -- 对象 name -- 字符串,对象属性 default -- 默认返回值,如果对象没有提供此参数name,将触发AttributeError,返回默认值 返回值: 返回对象属性值 """ pass ''' # eg1:简单对象,只有属性值 class A: name = 'xiaoming' age = 18 a = A() # 获取属性name值 b = getattr(a,'name') print(b) # 运行结果:xiaoming # eg2:对象中有方法,方法有参数 class B: def swap(self,a,b): a,b = b,a print(a,b) a = B() # 获取对象属性返回值可直接使用 b = getattr(a,'swap')(a=1,b=2) # 给方法swap传递参数(a=1,b=2) 运行结果:2 1 # 第二种写法 c = getattr(a,'swap') c(a=3,b=4) # 运行结果:4 3
python反射函数getattr()解析
最新推荐文章于 2022-12-15 08:30:00 发布