Python之hasattr()、getattr()和setattr()

LowisLucifer 2020-06-03

1、hasattr(object,attr)    判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False

class test():

      name = "xiaoxiao"

      def say(self):

             return "HelloWord"

t = test()

 has_name = hasattr(t, ‘name‘)

print(‘是否有name属性:‘, has_name)

运行结果:

运行结果:

是否有name属性: True

2、getattr(object,attr[,default])   # 获取对象的属性或方法,可设置输出默认值, 如果获取方法,返回的是内存地址,如果需要运行,后面添加一对括号

has_name = getattr(t,‘name‘)

print("name的属性":has_name)

运行结果:name的属性: xiaoxiao

3、setattr(object,attr,values)    # 给对象的属性赋值,若属性不存在,则先创建再赋值

p = setattr(t,sex,‘女‘)

print(“sex的属性:”,t.p)

运行结果:sex的属性:女

相关推荐