gpt4 book ai didi

python - 如何通过名称区分python中的方法和属性

转载 作者:太空狗 更新时间:2023-10-29 22:27:46 27 4
gpt4 key购买 nike

有时,我发现很难通过不附加括号的名称来区分方法和属性。

例如:
xml.etree.ElementTree.Element 类中有keys() 方法和text 属性

text:text 属性可用于保存与元素关联的附加数据。

keys():返回元素属性名称作为列表。


是否有一些基本规则/约定可以使 text 成为属性,而 keys() 成为方法?

如果我将 text() 设为方法,将 keys 设为属性。看起来还可以。

最佳答案

唯一真正的区别是一个是可调用的,一个不是,所以你可以使用内置函数 callable()与实际对象(不是带有它的名称的字符串)来确定它是否可调用。

在你的情况下:

>>> from xml.etree import ElementTree
>>> elt = ElementTree.Element("")
>>> callable(elt.keys)
True
>>> callable(elt.text)
False

关于python - 如何通过名称区分python中的方法和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6861410/

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