Python中getattr()函数和setattr()函数的用法介绍
getattr()函数和setattr()函数是Python中用于获取和设置对象属性的两个内置函数。
1. getattr()函数:
getattr()函数用于获取对象的属性的值,语法如下:
getattr(object, name, default)
其中,object是要获取属性的对象,name是属性的名称,default是可选的默认值,如果属性不存在则返回default值。
示例代码:
class Person:
name = "Tom"
age = 20
p = Person()
print(getattr(p, "name")) # 输出 "Tom"
print(getattr(p, "age")) # 输出 20
print(getattr(p, "gender", "Unknown")) # 输出 "Unknown"
在上述示例中,我们定义了一个Person类,该类有两个属性name和age。然后,我们创建了一个Person对象p,并使用getattr()函数获取了对象p的name和age属性的值,并设置了一个默认值"Unknown"。
2. setattr()函数:
setattr()函数用于设置对象的属性值,语法如下:
setattr(object, name, value)
其中,object是要设置属性的对象,name是属性的名称,value是要设置的属性值。
示例代码:
class Person:
name = "Tom"
age = 20
p = Person()
setattr(p, "name", "John")
setattr(p, "age", 25)
print(p.name) # 输出 "John"
print(p.age) # 输出 25
在上述示例中,我们定义了一个Person类,该类有两个属性name和age。然后,我们创建了一个Person对象p,并使用setattr()函数设置了对象p的name属性为"John",age属性为25。
需要注意的是,如果要设置的属性不存在,则setattr()函数会创建一个新的属性,并设置其值。
综上所述,getattr()函数和setattr()函数是Python中用于获取和设置对象属性的两个内置函数。它们可以帮助我们在编程过程中操作对象的属性,具有较高的灵活性和便利性。
