目录
  • hasattr()
  • getattr()
  • setattr()

hasattr()

hasattr(obj, name)

其中 obj 指的是某个类的实例对象,name 表示指定的属性名或方法名,返回BOOL值,有name特性返回True, 否则返回False。

例子:

class demo: def __init__ (self): self.name = "lily" def say(self): print("say hi") d = demo() print(hasattr(d, 'name')) print(hasattr(d, 'say')) print(hasattr(d, 'eat'))

运行结果如下:

True
True
False

getattr()

getattr(object, name[, default])

其中,obj 表示指定的类实例对象,name 表示指定的属性名,而 default 是可选参数,用于设定该函数的默认返回值,即当函数查找失败时,如果不指定 default 参数,则程序将直接报 AttributeError 错误,反之该函数将返回 default 指定的值。

例子:

class demo: def __init__ (self): self.name = "lily" def say(self): return "say hi" d = demo() print(getattr(d, 'name')) print(getattr(d, 'say')) print(getattr(d, 'eat'))

运行结果如下:

lily
<bound method demo.say of <__main__.demo object at 0x7f31c630d0a0>>
Traceback (most recent call last):
File "/test.py", line 11, in <module>
print(getattr(d, 'eat'))
AttributeError: 'demo' object has no attribute 'eat'

class demo: def __init__ (self): self.name = "lily" def say(self): return "say hi" def eat(self, something): return f"eat {something}" d = demo() print(getattr(d, 'name')) print(getattr(d, 'say')) print(getattr(d, 'eat')('apple')) print(getattr(d, 'eat', 'no eat')('banana'))

运行结果如下:

lily <bound method demo.say of <__main__.demo object at 0x7fe99b1ca0a0>> eat apple eat banana

setattr()

setattr(obj, name, value)

例子:

class demo: def __init__ (self): self.name = "lily" d = demo() print(getattr(d, 'name')) print('----------') setattr(d, 'name', 'tom') print(getattr(d, 'name')) print('----------') print(hasattr(d, 'age')) setattr(d, 'age', '18') print(hasattr(d, 'age')) print(getattr(d, 'age'))

运行结果如下:

lily
----------
tom
----------
False
True
18

到此这篇关于一文搞懂Python的hasattr()、getattr()、setattr() 函数用法的文章就介绍到这了,更多相关Python的hasattr()、getattr()、setattr() 函数内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!

您可能感兴趣的文章:

  • 一次搞懂hasattr()/getattr()/setattr()在Python中的应用
  • python中hasattr()、getattr()、setattr()函数的使用
  • 详解Python的hasattr() getattr() setattr() 函数使用方法
  • 详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
  • 全面了解Python的getattr(),setattr(),delattr(),hasattr()
  • 浅谈python中的getattr函数 hasattr函数
  • 浅析Python中的getattr(),setattr(),delattr(),hasattr()
  • Python中getattr函数和hasattr函数作用详解
  • python中hasattr方法示例详解