1.hasattr
hasattr() 函数用来判断某个实例对象(或者类对象)是否包含指定名称的属性或方法。如果包含则返回True,否则返回False。
2. setattr
setattr() 函数用于设置属性值,该属性不一定存在。若不存在则会创建一个对应的属性并赋值。
setattr() 语法:
setattr(object, name, value)
参数:
object -- 对象。
name -- 字符串,对象属性。
value -- 属性值。
返回值: 无。
3. getattr
getattr() 函数用于返回一个对象属性值。如果设置默认值,在没有对应属性时,将触发 AttributeError。
getattr 语法:
getattr(object, name[, default])
参数:
object -- 对象。
name -- 字符串,对象属性。
default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError,如果提供该值,在属性不存在时返回该的默认值。
返回值: 返回对象属性值。
4. 示例代码
import torch
class Dog:
color = 1 #白色
age = 5
name = '小白'
dog = Dog()#创建对象
#判断实例对象是否包含指定名称的数据或方法
if hasattr(dog, 'name') :
print("Class has 'name' attribute!")
else:
print("Class has no 'name' attribute!")
#对已存在的属性进行赋值
setattr(dog, 'age', 8)
setattr(dog, 'length', 1) #若果属性不存在则创建一个,并对属性赋值
#获取属性值
print(getattr(dog, 'age'))
print(getattr(dog, 'food', 'None'))#若属性不存在,返回默认值'None'
print(getattr(dog, 'food')) #若属性不存在,则报AttributeError
运行结果: