读取判读python对象所含有的属性方法是什么,判读python,怎么在使用前判断 Pyt
读取判读python对象所含有的属性方法是什么,判读python,怎么在使用前判断 Pyt
怎么在使用前判断 Python 对象是否包含某个属性或者某个方法?
class FooClass: passk = FooClass()k.someAtt = 2k.att
输出:
Traceback (most recent call last): File "Untitled.py", line 6, in <module> k.attAttributeError: FooClass instance has no attribute 'att'
http://stackoverflow.com/questions/3681272/can-i-get-a-reference-to-a-python-property
http://stackoverflow.com/questions/191010/how-to-get-a-complete-list-of-objects-methods-and-attributes
dir(FooClass)
方法一:通过异常捕捉来实现逻辑
class FooClass:passk = FooClass()try: #do some thing you need print k.attexcept AttributeError as e: #error: has not attribute pass
方法二:调用hasattr方法
hasattr(object, name)
说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)。
参数object:对象。
参数name:特性名称。
>>> hasattr(list, 'append')True>>> hasattr(list, 'add')False
方法三:使用dir方法
objlist = dir(k)if 'att' in objlist: #do some thing you need print k.attelse: #error: has not attribute pass
另外, 这种问题可以使用google搜索下,善用google
编橙之家文章,
相关内容
- MAC下使用easy_install MySQL-python报错No such file or directory,
- Python Requests连接报错,pythonrequests,新手刚开始学爬虫,
- python将网页保存至本地报TypeError: must be str, not bytes错误
- 一段代码中使用了sqlite有部分不理解的地方,求老师指导
- Python IDE pycharm中可以自动删除行尾空格操作码?,pyt
- Python PIL读取GIF帧画面不清晰是什么原因,pythonpil读取
- Python闭包怎样在程序中使用更优美,python闭程序,今天看
- 菜鸟对Python装饰器的不解之处,python装饰不解之处,#-
- Python优化字节码遇到的问题,python优化字节码,问题背景
- 防止别人修改flask开发的web应用,服务器加密应该怎么做
评论关闭