【发布时间】:2020-09-25 22:04:51
【问题描述】:
为什么 Python 整数被实现为对象?
文章 Why Python is Slow: Looking Under the Hood 及其 cmets 包含有关 Python 内存模型及其影响的有用信息,尤其是性能方面。
但本文并未提出或回答为什么首先做出将整数实现为对象的决定的问题。
特别是,将 Python 称为动态类型并不是一个答案。可以将整数实现为动态类型语言中的整数。
【问题讨论】:
-
我认为这不是您要寻找的答案,但是 Python 在决定将所有内容都作为对象时获得了一些灵活性。例如,您可以继承
int(查看bool)。 -
不,我的问题不在于“is”运算符……我发现我用关于“is”的评论误导了人们……我现在删除了这条评论。造成任何误解,深表歉意。
-
@MarioIshac 感谢您对子类型的评论。但我怀疑它是否能证明如此重要的设计决定是合理的。
-
速度不是 Python 语言或 CPython 实现设计的首要目标。
标签: python object integer memory-model