gpt4 book ai didi

python - Inspect.getsourcelines(None.__str__) 抛出令人困惑的 TypeError

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:28 24 4
gpt4 key购买 nike

今天我的一位同事发现了一个有趣的案例

str(None)
'None'

很自然地我想看看 None 是如何定义的

inspect.getsourcelines(None.__str__)
TypeError: <method-wrapper '__str__' of NoneType object at 0x91a870> is not a module, class, method, function, traceback, frame, or code object

这可能并不奇怪,因为 None 最有可能在 C 中定义。但这提出了一个有趣的问题,如果 None.__str__ 不是模块、类、方法等,那么它是什么?

最佳答案

what is it?

这是一个非常好的问题。

>>> type(None.__str__)
<type 'method-wrapper'>
>>> None.__str__.__class__
<type 'method-wrapper'>
>>> type(None.__str__.__call__)
<type 'method-wrapper'>

现在,它是什么取决于 which version of python you use ,但它绝对是一个方法包装器。

关于python - Inspect.getsourcelines(None.__str__) 抛出令人困惑的 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33002653/

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