gpt4 book ai didi

python - 如何判断 Python 类成员是否装饰有 `@property`

转载 作者:行者123 更新时间:2023-12-04 03:24:53 26 4
gpt4 key购买 nike

<分区>

我正在对 UUID 进行子类化,我试图弄清楚 UUID.hex 是常规成员还是用 @property 修饰的方法>。我不得不查看源代码来弄清楚,这让我想知道是否有其他方法。

>>> import uuid
>>> x = uuid.UUID('0000180000001000800000805f9b34fb')
>>> print([attr for attr in dir(x) if callable(getattr(x, attr))])
['__class__', '__delattr__', '__dir__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__int__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__']
>>> print([attr for attr in dir(x) if not callable(getattr(x, attr))])
['__doc__', '__module__', '__slots__', '__weakref__', 'bytes', 'bytes_le', 'clock_seq', 'clock_seq_hi_variant', 'clock_seq_low', 'fields', 'hex', 'int', 'is_safe', 'node', 'time', 'time_hi_version', 'time_low', 'time_mid', 'urn', 'variant', 'version']

The source code是:

    @property
def hex(self):
return '%032x' % self.int

这是一个用@property修饰的方法。我有点期待 hex 会显示为 callable(),但事实并非如此。有什么方法可以通过检查类或对象来判断吗?

谢谢!

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