gpt4 book ai didi

Python 方法 dir() 不返回所有属性/方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:02 25 4
gpt4 key购买 nike

我有这段代码(来自 Dive in Python 3):

>>> import xml.etree.ElementTree as etree
>>> tree = etree.parse("feed.xml")
>>> root = tree.getroot()
>>> print(dir(root))
['__class__', '__copy__', '__deepcopy__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'extend', 'find', 'findall', 'findtext', 'get', 'getchildren', 'getiterator', 'insert', 'items', 'iter', 'iterfind', 'itertext', 'keys', 'makeelement', 'remove', 'set']
>>>

列表中缺少几个属性,特别是“tag”、“text”、“attrib”等。

这是为什么呢?如何可靠地从对象中获取属性和方法的完整列表?

谢谢

最佳答案

属性实际上被定义为 getattr 接受的参数。内置功能。用户可以重新实现__getattr__ ,突然允许任何类型的属性,没有可能的通用方法来生成该列表。 dir函数返回 __dict__ 中的键属性,即如果 __getattr__ 则可访问的所有属性方法没有重新实现。

关于Python 方法 dir() 不返回所有属性/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com