我一直以为Jupyter只是打印出一个物体的repr
,但事实并非如此。
这是一个例子。如果我在笔记本上评估这个:
obj = type(2)
obj
我得到:int
。
如果我改为
print(obj)
我得到:<class 'int'>
。
那么:什么是Python指令来模拟笔记本在评估变量时的作用?
答案 0 :(得分:1)
Jupyter / IPython使用了相当复杂的pretty printer。关于int
的示例,它有一个printer for classes/type。
基本上它的作用是获得课程&#39;通过cls.__qualname__
(py3)或cls.__name__
(py2&amp; 3)和模块cls.__module__
命名,并将其打印为<module.name>
。对于builtins,模块名称将被忽略。