如何形象地理解 Python 中的 int 类型是任意精度这一概念?

来源:互联网 发布:oracle数据库创建序列 编辑:程序博客网 时间:2024/04/28 03:19

什么,Python 有类型吗?当然有,只是不需显示的声明而已,大概也涉及类型推导机制吧。

Python 基本数据类型

>>> a = 10>>> type(a)int                    # python 3 中对 int/long 不再进行区分,统一视为 long 类型>>> a = 10.>>> type(a)float                    # Python 3 和 Python 2.x 都对单精度和双精度类型不作区分,统一视为双精度类型>               >>> a = 'hello'>>> type(a)str

Python int 支持任意精度(arbitrary precision)

Python 中的 int 类型不像 C/C++ 中的 int(32位,__int64:64位),Python int 支持任意精度(arbitrary precision)。如何理解呢,前段时间国外一个著名的视频,问 siri 1 trillion(1012) 的10次方(也即 10120,1后120个零)。


这里写图片描述

想要让 C/C++显示类似的结果,是比较麻烦的,对__int64 类型变量而言,必然发生类型的截断,Python 毫无压力,轻轻松松。

>>> (10**12)**101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

References

[1] Python 变量类型

0 0
原创粉丝点击