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()函数可以检查对象是否具有某个属性,如果有,则返回该属性的值,如果没有,则返回默认值,同时还可以用来动态调用对象的方法。