Python setattr() 函数



**Python setattr() 函数**允许我们为指定对象的属性设置新值。它用于创建新属性并为其设置值。它是内置函数之一,无需任何模块即可使用。

语法

以下是 Python setattr() 函数的语法:

setattr(object, attribute, value)

参数

Python setattr() 函数接受以下参数:

  • object - 此参数表示一个对象。

  • attribute - 它表示属性名称。

  • value - 它指定要设置的值。

返回值

Python setattr() 函数返回 None 值。

setattr() 函数示例

练习以下示例以了解如何在 Python 中使用 setattr() 函数

示例:setattr() 函数的使用

以下示例演示了 Python setattr() 函数的使用。在这里,我们正在创建一个类并设置该类的新的属性。

class OrgName:
   def __init__(self, name):
      self.name = name

nameObj = OrgName("TutorialsPoint")
setattr(nameObj, "location", "Hyderabad")  
print("Location is set to:", nameObj.location) 

运行上述程序时,将产生以下结果:

Location is set to: Hyderabad

示例:使用 setattr() 函数修改属性的值

setattr() 函数也可以用来修改现有属性的值。在下面的代码中,我们用新的值修改了之前设置的 location 属性的值。

class TutorialsPoint:
   def __init__(self, location):
      self.location = location

locationObj = TutorialsPoint("Hyderabad")
print("Before modifying location is set to:", locationObj.location) 
setattr(locationObj, "location", "Noida")  
print("After modifying location is set to:", locationObj.location)

以下是上述代码的输出:

Before modifying location is set to: Hyderabad
After modifying location is set to: Noida

示例:使用 setattr() 函数动态添加类方法

借助 setattr() 函数,我们可以动态添加类方法。在下面的代码中,我们定义了一个名为“employee”的方法,并将定义的方法添加到指定的类。

class TutorialsPoint:
   pass
    
def employee():
   return "Present"

employeeObj = TutorialsPoint()
setattr(employeeObj, "isPresent", employee)  
print("Status of employee is set to:", employeeObj.isPresent())

上述代码的输出如下:

Status of employee is set to: Present
python_built_in_functions.htm
广告