欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3中的setattr(),getattr(),hasattr(),delattr()

程序员文章站 2022-07-15 16:50:50
...

示例:

>>> class Car:
...     def __init__(self):
...             pass
... 
>>> car1 = Car()
>>> car1.color = 'red'
>>> hasattr(car1,'color')
True
>>> hasattr(car1,'colo')
False
>>> getattr(car1,'color')
'red'
>>> getattr(car1,'ssld')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Car' object has no attribute 'ssld'
>>> setattr(car1,'color','yellow')
>>> getattr(car1,'color')
'yellow'
>>> setattr(car1,'colo','yellow')
>>> getattr(car1,'colo')
'yellow'
>>> delattr(car1,'colo')
>>> hasattr(car1,'colo')
 False

hasattr()函数
hasattr函数用于判断是否包含对应的属性
语法:
hasattr(object,name)函数用于判断是否包含对应的属性
参数: object------对象 name------字符串,属性名
返回值: 如果对象有该属性返回True,否则返回False

getattr()函数
getattr函数用于返回一个对象的属性值
用于返回一个对象的属性值
getattr(object,name,default)
参数 :
object-----对象
name------字符串,对象属性
default ----默认返回值,如果不提供该参数,在没有对象属性时,将触发AttributeError
返回值:
返回对象属性值,如果不存在返回默认值

setattr()函数
setattr函数,用于设置属性值
语法:setattr(object,name,value)
如果name属性存在则修改为value值,如果不存在则设置name属性为value
参数:
object----对象
name------字符串,对象属性
value-----属性值
返回值:

delattr()函数
delattr函数用于删除属性
delattr(car1,‘color’)相当于del car1.color
语法:
setattr(object,name)
如果name属性不存在,则会触发AttributeError
参数:
object —对象
name–必须是对象的属性
返回值: