📜  python 按字符串名称设置属性 - Python (1)

📅  最后修改于: 2023-12-03 15:04:16.931000             🧑  作者: Mango

Python 按字符串名称设置属性

在Python中,我们可以使用字符串来给对象设置属性。这种方式适用于那些无法在编码时知道属性名称的情况下,动态设置属性。

基本语法

Python提供了内置函数setattr()用于根据字符串名称设置对象属性。其基本语法如下所示:

setattr(obj, name, value)
  • obj:要设置属性的对象。
  • name:要设置的属性名称,使用字符串表示。
  • value:要设置的属性值。

若要获取对象的属性,可以使用内置函数getattr()。其基本语法如下所示:

getattr(obj, name[, default])
  • obj:要获取属性的对象。
  • name:要获取的属性名称,使用字符串表示。
  • default:可选参数,如果属性不存在则返回此值,默认为None
示例

以下是一个示例程序,演示如何按字符串名称设置和获取对象的属性。

class MyClass:
    pass

obj = MyClass()

# 使用字符串设置属性
setattr(obj, 'name', 'John')
setattr(obj, 'age', 25)

# 使用字符串获取属性
name = getattr(obj, 'name')
age = getattr(obj, 'age', None)

# 输出属性值
print(f"Name: {name}")
print(f"Age: {age}")

运行结果如下所示:

Name: John
Age: 25

以上就是Python中按字符串名称设置对象属性的基本方法。