提示:基础知识查漏补缺
✅getattr() 函数的用法
getattr() 函数用于返回一个对象属性值。
getattr(object, name[, default])
object – 对象。
name – 字符串,对象属性。
default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
提示:获取 "Person" 对象的 "name" 属性的值:
- 代码示例1如下:
class Person():
name = "HYQ"
age = 28
country = "CHINESE"
if __name__ == "__main__":
x = getattr(Person, 'name')
print(x)
运行结果:
HYQ
- 代码示例2如下:
class Person():
def __init__(self, name, age, country):
self._name = name
self._age = age
self._country = country
def __getitem__(self, item):
if isinstance(item, str): # 保证传入getattr()的值是一个str
return getattr(self, "_" + item) # "_"可以匹配所有下划线开头的属性值
if __name__ == "__main__":
x = Person("HYQ", 28, "CHINESE")
print(x["name"])
print(x["age"])
print(x["country"])
运行结果:
HYQ
28
CHINESE