print(type(quit), type(exit))
# <class '_sitebuiltins.Quitter'> <class '_sitebuiltins.Quitter'>
id函数返回不同的标识符:
print(hex(id(quit)), hex(id(exit)))
# 0x18caae42b70 0x18caae50630
帮助函数返回相同的描述:
Help on Quitter in module _sitebuiltins object:
class Quitter(builtins.object)
| Methods defined here:
|
| __call__(self, code=None)
| Call self as a function.
|
| __init__(self, name, eof)
| Initialize self. See help(type(self)) for accurate signature.
|
| __repr__(self)
| Return repr(self).
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
在文档中,这两个函数都有一个共同的描述
quit(code=None) exit(code=None)打印时打印消息的对象,例如“使用 quit() 或 Ctrl-D(即 EOF)退出”,并在调用时使用指定的退出代码引发 SystemExit。
但是应该有区别吗?
简短的回答是没有区别,这些是来自同一类的对象,
Quitter区别仅在于名称:我认为,
quit并exit为了方便与口译员一起工作而添加。为了更好地理解,您需要查看_sitebuiltins.py的源代码:
还有site.py源代码:
SO上的类似答案