本文目录一览:
- 1、Python3.x中hasattr用法
- 2、怎么判断 Python 对象是否包含某个属性
- 3、python中hasattr是什么意思
- 4、怎么判断 Python 对象是否包含某个属性
- 5、Python 中的hasattr 只能作用于类对象吗?
Python3.x中hasattr用法
hasattr(object, name):
The arguments are an object and a string. The result is True if the string is the name of one of the object’s attributes, False if not. (This is implemented by calling getattr(object, name) and seeing whether it raises anAttributeError or not.)
for example:
```python
s = "hello world"
print (hasattr(s, "__iter__")) #hasattr(s, "__iter__")##意思就是看看s对象有没有__iter__属性。
```
怎么判断 Python 对象是否包含某个属性
顶级函数hasattr可以查看对象是否包含某某属性,这里的属性包括数据属性和方法。getattr可以获取属性。
如下举例说明。
a=[1,2,3]
print('列表有count属性:%s'%hasattr(a,'count'))
print('列表有append属性:%s'%hasattr(a,'append'))
print('列表有shift属性:%s'%hasattr(a,'shift'))
print('列表的count属性是方法:%s'%hasattr(getattr(a,'count'),'__call__'))
print('列表的append属性是方法:%s'%hasattr(getattr(a,'append'),'__call__'))
class myclass():
def __init__(self):
self.valattr=3
def method(self):
pass
mc=myclass()
print('myclass有valattr属性:%s'%hasattr(mc,'valattr'))
print('myclass有method属性:%s'%hasattr(mc,'method'))
print('myclass的valattr属性是方法:%s'%hasattr(getattr(mc,'valattr'),'__call__'))
print('myclass的method属性是方法:%s'%hasattr(getattr(mc,'method'),'__call__'))
python中hasattr是什么意思
hasattr(object, name)
作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)。
示例:
hasattr(list, 'append')
True
hasattr(list, 'add')
False
怎么判断 Python 对象是否包含某个属性
顶级函数hasattr可以查看对象是否包含某某属性,这里的属性包括数据属性和方法。getattr可以获取属性。
如下举例说明。
a=[1,2,3]
print('列表有count属性:%s'%hasattr(a,'count'))
print('列表有append属性:%s'%hasattr(a,'append'))
print('列表有shift属性:%s'%hasattr(a,'shift'))
print('列表的count属性是方法:%s'%hasattr(getattr(a,'count'),'__call__'))
print('列表的append属性是方法:%s'%hasattr(getattr(a,'append'),'__call__'))
class myclass():
def __init__(self):
self.valattr=3
def method(self):
pass
mc=myclass()
print('myclass有valattr属性:%s'%hasattr(mc,'valattr'))
print('myclass有method属性:%s'%hasattr(mc,'method'))
print('myclass的valattr属性是方法:%s'%hasattr(getattr(mc,'valattr'),'__call__'))
print('myclass的method属性是方法:%s'%hasattr(getattr(mc,'method'),'__call__'))
Python 中的hasattr 只能作用于类对象吗?
hasattr同样适用于对象中的方法,因为方法也是属性。
如果对象obj中有get方法,hasattr(obj,'get')将返回True。