Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-builtin-functions-setattr.html

python 用于给对象的属性赋值的内置函数 setattr 详解

Python 内置函数 Python 内置函数


setattr 是 Python 内置的一个函数,用于设置对象的属性值。

函数语法

setattr(object, attribute, value)

参数:

  • object : 需要设置属性的对象。
  • attribute : 属性的名称,以字符串形式传递。
  • value : 要设置的属性值。

示例代码

最基本的用法,设置对象的属性值:

class Person:
    pass

person = Person()
setattr(person, 'name', 'Alice')
print(person.name)

运行结果:

Alice

在现有对象上动态添加属性:

class Car:
    pass

car = Car()
setattr(car, 'color', 'red')
print(car.color)

运行结果:

red

修改已有对象的属性值:

class Book:
    def __init__(self, title):
        self.title = title

book = Book("Python Programming")
print("Before:", book.title)
setattr(book, 'title', 'Advanced Python')
print("After:", book.title)

运行结果:

Before: Python Programming
After: Advanced Python

总结

setattr 函数是 Python 中用于动态设置对象属性的内置函数。它可以在已有对象上添加新属性、修改已有属性的值。需要注意的是,使用 setattr 时,属性名以字符串的形式传递。这个函数在编写需要在运行时动态修改对象属性的代码时非常有用。但要谨慎使用,确保你了解代码的结构和目的,以避免不必要的混乱和错误。

函数语法getattr(object,name[,default])参数:object:需要获取属性的对象。通过getattr,你可以写出更 ...
函数语法dir([object])参数:object(可选):要检查的对象。my_attribute','my_method','my_me ...
函数语法vars([object])参数:object(可选):要检索属性的对象。示例1:检索模块的属性和属性值:importmathmod ...
hasattr()是Python内置的一个函数,用于判断一个对象是否包含指定的属性(属性名)。make=make#检查类是否具有名为"whe ...
函数语法delattr(object,name)参数:object:要删除属性的对象。dict__)运行结果:Before:{'name': ...