Python * attr方法
delattr
delattr(对象, "属性名")
返回布尔值
getattr
getattr(对象,“属性名”)
返回属性值
hasattr
hasattr(对象,“ 属性名”)
返回布尔值
setattr
setattr(对象,“属性名”, 属性值)
属性
attribute
import types
class Person:passp = Person()
p.name = "好人"
Person.MAX_AGE = 100print(hasattr(p, "name"), hasattr(p, "MAX_AGE"))
print(hasattr(Person, "MAX_AGE"))p.get_name = types.MethodType(lambda self: self.name, p)@classmethod
def info(cls):return cls.__name__
Person.info = info@staticmethod
def my_max(a, b):return a if a > b else bPerson.my_max = my_maxprint(hasattr(p, "get_name"), hasattr(p, "info"), hasattr(Person, "info"), hasattr(p, "my_max"), hasattr(Person, "my_max"))if hasattr(p, "get_name"):value = getattr(p, 'get_name')print(f"发现属性 其值是{ value() }")if hasattr(p, "age"):pass
else:print(f"没有发现属性 age")setattr(p, "age", 20)if hasattr(p, "age"):print("设置成功后的age值是", getattr(p, "age"))delattr(p, "age")if not hasattr(p, "age"):print(f"删除成功")