说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
在Python中,有几个内置函数可以用来操作和管理对象的属性。这些函数可以让我们动态地检查和修改对象的属性,以及获取有关对象属性的信息。
它们分别做设置、获取、删除对象的属性:
以下是一些常用的内置函数:
getattr(object, name[, default])
: 返回对象的指定属性值。如果属性不存在,并且提供了默认值,则返回默认值;如果未提供默认值且属性不存在,则抛出 AttributeError 异常。
class Person:
def __init__(self, name):
self.name = name
person = Person("Alice")
print(getattr(person, 'name'))
# 输出: Alice
print(getattr(person, 'age', 25))
# 输出: 25,因为 'age' 属性不存在,默认值是 25
setattr(object, name, value)
: 设置对象的指定属性值。
setattr(person, 'age', 30)
print(person.age) # 输出: 30
delattr(object, name)
: 删除对象的指定属性。
delattr(person, 'age')
# print(person.age)
# AttributeError: 'Person' object has no attribute 'age'
hasattr(object, name)
:检查对象是否具有指定的属性。
print(hasattr(person, 'name')) # 输出: True
print(hasattr(person, 'age')) # 输出: False
vars([object])
: 返回对象的 __dict__
属性,或者返回当前局部作用域的字典。如果没有提供对象参数,则返回当前作用域的符号表(变量和函数名组成的字典)。
class MyClass:
class_var = 10
def __init__(self, x):
self.x = x
obj = MyClass(20)
print(vars(obj)) # 输出: {'x': 20}
print(vars()) # 输出: 当前作用域的符号表
这些函数提供了便捷的方法来操作对象的属性,使得我们可以在运行时动态地访问、修改和删除对象的属性,或者检查对象是否具有特定的属性。
更新时间:2024-06-16 20:28:52 标签:python 属性 内置函数