赞
踩
hasattr() 函数用于判断对象是否包含对应的属性。
""" 语法:hasattr(object, name) 参数:object -- 对象;name -- 字符串,属性名。 返回:如果对象有该属性返回 True,否则返回 False。 """ """=================实例===============""" class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print(hasattr(point1, 'x')) print(hasattr(point1, 'y')) print(hasattr(point1, 'z')) print(hasattr(point1, 'no')) # 没有该属性 """ 结果: True True True False """
getattr() 函数用于返回一个对象属性值。
""" 语法:getattr(object, name[, default]) 参数:object -- 对象;name -- 字符串,对象属性;default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。 返回:返回对象属性值。 """ """=================实例===============""" class A(): bar = 1 a = A() # 获取对象的bar属性的value值 print(getattr(a,'bar')) # 获取对象的bar2属性的value值,如果没有返回‘无bar2属性’ print(getattr(a, 'bar2', "无bar2属性")) # 获取对象的bar2属性的value值,如果没有抛出异常 print(getattr(a, 'bar2')) """结果: Traceback (most recent call last): File "xxx/xxx.py", line x, in <module> print(getattr(a, 'bar2')) AttributeError: 'A' object has no attribute 'bar2' 1 无bar2属性 """
setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的。
""" 语法:setattr(object, name, value) 参数:object -- 对象;name -- 字符串,对象属性;value -- 属性值 返回:无 """ """=================实例===============""" """ 对已存在的属性进行赋值: """ class A(object): bar = 1 a = A() print('bar属性的初始值:',getattr(a, 'bar')) # 获取属性 bar 值 setattr(a, 'bar', 5) # 设置属性 bar 值 print('bar属性设置后的值:',a.bar) """ 如果属性不存在会创建一个新的对象属性,并对属性赋值: """ class A(): name = "runoob" a = A() setattr(a, "age", 28) print('新增属性age的值',a.age) """ 结果: bar属性的初始值: 1 bar属性设置后的值: 5 新增属性age的值 28 """
delattr 函数用于删除属性。
delattr(x, ‘foobar’) 相等于 del x.foobar。
""" 语法:delattr(object, name) 参数:object -- 对象;name -- 必须是对象的属性。 返回:无 """ """=================实例===============""" class Coordinate: x = 10 y = -5 z = 0 point1 = Coordinate() print('x = ', point1.x) print('y = ', point1.y) print('z = ', point1.z) delattr(Coordinate, 'z') print('--删除 z 属性后--') print('x = ', point1.x) print('y = ', point1.y) # 触发错误 print('z = ', point1.z) """ 结果: x = 10 y = -5 z = 0 --删除 z 属性后-- x = 10 y = -5 Traceback (most recent call last): File "D:xxx/xxx.py", line xx, in <module> print('z = ', point1.z) AttributeError: 'Coordinate' object has no attribute 'z' """
参考菜鸟课程:python内置函数
大家可以理解记忆哈,我是根据英文意思来记忆的,你们呢?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。