getattr()函数
getattr()函数是Python中一个内置函数,它可以获取Python对象的属性值,它的语法格式如下:
getattr(object, name[, default])
其中,object表示要获取属性值的对象,name表示要获取的属性名,default表示如果没有找到该属性,则返回默认值,如果没有提供默认值,则会抛出AttributeError异常。
下面我们来看一个使用getattr()函数获取对象属性值的示例:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person('John', 20)
name = getattr(person, 'name')
print(name)
在上面的代码中,我们定义了一个Person类,创建了一个Person实例person,使用getattr()函数获取person实例的name属性值,打印出来,输出结果为:
John
从上面的示例可以看出,使用getattr()函数可以很方便地获取Python对象的属性值。
使用场景
getattr()函数可以用来检查对象是否具有某个属性,如果有,则返回该属性的值,如果没有,则返回默认值,比如:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person('John', 20)
height = getattr(person, 'height', 180)
print(height)
在上面的代码中,person实例没有height属性,但是我们使用getattr()函数获取height属性的值,并提供了默认值180,打印出来,输出结果为:
180
getattr()函数还可以用来动态调用对象的方法,比如:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
person = Person('John', 20)
method = getattr(person, 'get_name')
name = method()
print(name)
在上面的代码中,我们使用getattr()函数获取person实例的get_name方法,调用该方法,打印出来,输出结果为:
John
从上面的示例可以看出,使用getattr()函数可以实现动态调用对象的方法。
getattr()函数是Python中一个内置函数,它可以获取Python对象的属性值。使用getattr()函数可以检查对象是否具有某个属性,如果有,则返回该属性的值,如果没有,则返回默认值,同时还可以用来动态调用对象的方法。