sys.maxsize 当前可能的值是多少?
What are the currently possible values for sys.maxsize?
在the latest Python 2 documentation中:
sys.maxsize
The largest positive integer supported by the platform’s
Py_ssize_t type, and thus the maximum size lists, strings, dicts, and
many other containers can have.
在the latest Python 3 documentation中:
sys.maxsize
An integer giving the maximum value a variable of type
Py_ssize_t can take. It’s usually 2**31 - 1 on a 32-bit platform and
2**63 - 1 on a 64-bit platform.
sys.maxsize
值 in this file 在 Python 2 上使用 Python 3 文档中指定的值:
- 2**31 - 1 = 2147483647;
- 2**63 - 1 = 9223372036854775807.
我的问题是:sys.maxsize
可以在 Python 2 中取哪些可能的值?这两个部分是否是可能的值?是否有任何其他可能的值(例如,在其他平台或操作系统上)?找到它在 Python 3 中也可以接受的可能值会很有趣。
相关问题:
- Confused About Python's sys.maxsize
sys.maxsize
告诉你一些关于用于编译 CPython 的 C 编译器的信息,所以 Python 2 和 Python 3 之间没有区别。它必须处理使用的 C 编译器和选项,而不是编译的 Python 版本。
- 这是适合平台 C 编译器的
ssize_t
类型的最大正整数。这是我见过的所有平台上的 32 位或 64 位带符号 2 的补码整数 ;-) 与您已经找到的两个特定值完全对应。
- 它在文档中被称为
type Py_ssize_t
,因为 Python 必须为更新的 C 概念创建自己的类型定义(在 C 级别),等待世界上所有的 C 编译器来实现它们。即使在所有已知的 C 编译器都赶上之后,那些特定于 Python 的类型定义通常仍然存在于源代码中 ("not broke, don't fix")。
两个可能的值是由于 python 位版本。
+=============+=====================================+======================================+
| | Python 32 bit | Python 64 bit |
+=============+=====================================+======================================+
| sys.version | 3.7.3 ….[MSC v.1916 32 bit (Intel)] | 3.7.4 …..[MSC v.1916 64 bit (AMD64)] |
+-------------+-------------------------------------+--------------------------------------+
| sys.maxsize | 2147483647 | 9223372036854770000 |
+-------------+-------------------------------------+--------------------------------------+
在the latest Python 2 documentation中:
sys.maxsize
The largest positive integer supported by the platform’s Py_ssize_t type, and thus the maximum size lists, strings, dicts, and many other containers can have.
在the latest Python 3 documentation中:
sys.maxsize
An integer giving the maximum value a variable of type Py_ssize_t can take. It’s usually 2**31 - 1 on a 32-bit platform and 2**63 - 1 on a 64-bit platform.
sys.maxsize
值 in this file 在 Python 2 上使用 Python 3 文档中指定的值:
- 2**31 - 1 = 2147483647;
- 2**63 - 1 = 9223372036854775807.
我的问题是:sys.maxsize
可以在 Python 2 中取哪些可能的值?这两个部分是否是可能的值?是否有任何其他可能的值(例如,在其他平台或操作系统上)?找到它在 Python 3 中也可以接受的可能值会很有趣。
相关问题:
- Confused About Python's sys.maxsize
sys.maxsize
告诉你一些关于用于编译 CPython 的 C 编译器的信息,所以 Python 2 和 Python 3 之间没有区别。它必须处理使用的 C 编译器和选项,而不是编译的 Python 版本。- 这是适合平台 C 编译器的
ssize_t
类型的最大正整数。这是我见过的所有平台上的 32 位或 64 位带符号 2 的补码整数 ;-) 与您已经找到的两个特定值完全对应。 - 它在文档中被称为
type Py_ssize_t
,因为 Python 必须为更新的 C 概念创建自己的类型定义(在 C 级别),等待世界上所有的 C 编译器来实现它们。即使在所有已知的 C 编译器都赶上之后,那些特定于 Python 的类型定义通常仍然存在于源代码中 ("not broke, don't fix")。
两个可能的值是由于 python 位版本。
+=============+=====================================+======================================+
| | Python 32 bit | Python 64 bit |
+=============+=====================================+======================================+
| sys.version | 3.7.3 ….[MSC v.1916 32 bit (Intel)] | 3.7.4 …..[MSC v.1916 64 bit (AMD64)] |
+-------------+-------------------------------------+--------------------------------------+
| sys.maxsize | 2147483647 | 9223372036854770000 |
+-------------+-------------------------------------+--------------------------------------+