欢迎访问宙启技术站
智能推送

Python中getattr()函数和setattr()函数的用法介绍

发布时间:2023-07-18 05:35:51

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中用于获取和设置对象属性的两个内置函数。它们可以帮助我们在编程过程中操作对象的属性,具有较高的灵活性和便利性。