python getattr()
函数用于获取对象的属性名或方法地址。它是python的内置函数,是python反射方法之一。
语法
语法如下:getattr(object,name,default)
参数
- object:指定检查的对象。
- name:指定获取对象的属性名或方法地址。
- default:获取不到时候的默认值。
返回值
返回对象的属性名或方法地址,
如果不存在则返回默认值default。
程序示例
介绍一个例子,了解python getattr()函数的使用方法。
#!/usr/bin/python
# coding=utf-8
class Person:
name = None
age = None
def say(self):
print('hello')
p = Person()
print('属性名:', getattr(p, 'name', 'yxjc123'))
print('属性名:', getattr(p, 'age', 'yxjc123'))
print('方法名:', getattr(p, 'say', 'yxjc123'))
print('方法名:', getattr(p, 'test','yxjc123')) #test获取不到,yxjc123为默认值
程序运行结果:
属性名: None
属性名: None
方法名: <bound method Person.say of <__main__.Person object at 0x7f931b736710>>
方法名: yxjc123
属性名: None
方法名: <bound method Person.say of <__main__.Person object at 0x7f931b736710>>
方法名: yxjc123
上面的运行结果中,test不存在,使用yxjc123替代。