gpt4 book ai didi

python - IPython 中的 __class__ 实现是否相对于 Python 进行了修改?

转载 作者:行者123 更新时间:2023-12-01 08:54:08 24 4
gpt4 key购买 nike

我正在尝试将Python和IPython中的__class__函数与两者中的type()函数进行比较,并想知道以下行为差异是否是由于__class__ IPython 中关于 Python 的修改。

Python

>>> [].__class__
<class 'list'>
>>> type([])
<class 'list'>

IPython

In [2]: [].__class__
Out[2]: list

In [3]: type([])
Out[3]: list

但是对于 print 来说,它似乎仍然指的是 Python 的 __class__

Python

>>> print(type([]))
<class 'list'>

IPython

In [4]: print(type([]))
<class 'list'>

最佳答案

这就是奇迹发生的地方:

In [1] import sys
In [2] sys.displayhook
Out[2]: <IPython.terminal.prompts.RichPromptDisplayHook at 0x7f6c42b08190>

对比

>>> import sys
>>> sys.displayhook
<built-in function displayhook>

正在显示的对象( list<class 'list'> )是同一个对象。使用 sys.displayhook ,IPython修改了它在交互式REPL中的显示方式。

关于python - IPython 中的 __class__ 实现是否相对于 Python 进行了修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52887568/

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