Python整数类型(int)、⼩数浮点数(float)、复数类型(complex)Python整数类型(int)、⼩数/浮点数(float)、复数类型(complex)
1. Python整数类型(int)详解
整数就是没有⼩数部分的数字, 中的整数包括正整数、0 和负整数。
有些强类型的编程语⾔会提供多种整数类型,每种类型的长度都不同,能容纳的整数的⼤⼩也不同,开发者要根据实际数字的⼤⼩选⽤不同的类型。例如C语⾔提供了 short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往⽐较迷惑,有时候还会导致数值溢出。
⽽ Python 则不同,它的整数不分类型,或者说它只有⼀种类型的整数。Python 整数的取值范围是⽆限的,不管多⼤或者多⼩的数字,Python 都能轻松处理。
当所⽤数值超过计算机⾃⾝的计算能⼒时,Python 会⾃动转⽤⾼精度计算(⼤数计算)。
请看下⾯的代码:
运⾏结果:
1. x 是⼀个极⼤的数字,y 是⼀个很⼩的数字,Python 都能正确输出,不会发⽣溢出,这说明 Python 对整数的处理能⼒⾮常强⼤。
2. 不管对于多⼤或者多⼩的整数,Python 只⽤⼀种类型存储,就是 int。
关于 Python 2.x
Python 3.x 只⽤ int ⼀种类型存储整数,但是 Python 2.x 会使⽤ long 类型来存储较⼤的整数。以上代码在
Python 2.x 下的运⾏结果为:
78
<type'int'>
8888888888888888888888
<type'long'>
-7777777777777777777777
<type'long'>
但是不管哪个版本的 Python,都能轻松处理极⼤和极⼩的数字,⽽且程序员也不⽤操⼼底层到底使⽤了 int 还是 long 类型。整数的不同进制
在 Python 中,可以使⽤多种进制来表⽰整数:
1) ⼗进制形式
我们平时常见的整数就是⼗进制形式,它由 0~9 共⼗个数字排列组合⽽成。
注意,使⽤⼗进制形式的整数不能以 0 作为开头,除⾮这个数值本⾝就是 0。
2) ⼆进制形式
由 0 和 1 两个数字组成,书写时以0b或0B开头。例如,101 对应⼗进制数是 5。
3) ⼋进制形式
⼋进制整数由 0~7 共⼋个数字组成,以0o或0O开头。注意,第⼀个符号是数字 0,第⼆个符号是⼤写或⼩写的字母 O。
在 Python 2.x 中,⼋进制数字还可以直接以0(数字零)开头。
4) ⼗六进制形式
由 0~9 ⼗个数字以及 A~F(或 a~f)六个字母组成,书写时以0x或0X开头,
支持小数点的进制转换器
如果你对不同进制以及它们之间的转换⽅法不了解,请猛击下⾯的链接:
【实例】不同进制整数在 Python 中的使⽤:
运⾏结果:
本例的输出结果都是⼗进制整数。
数字分隔符
为了提⾼数字的的可读性,Python 3.x 允许使⽤下划线_作为数字(包括整数和⼩数)的分隔符。通常每隔三个数字添加⼀个下划线,类似于英⽂数字中的逗号。下划线不会影响数字本⾝的值。
【实例】使⽤下划线书写数字:
运⾏结果:
2. Python⼩数/浮点数(float)详解
在编程语⾔中,⼩数通常以浮点数的形式存储。浮点数和定点数是相对的:⼩数在存储过程中如果⼩数点发⽣移动,就称为浮点数;如果⼩数点不动,就称为定点数。
中的⼩数有两种书写形式:
1. ⼗进制形式
这种就是我们平时看到的⼩数形式,例如 34.6、346.0、0.346。
书写⼩数时必须包含⼀个⼩数点,否则会被 Python 当作整数处理。
2. 指数形式
Python ⼩数的指数形式的写法为:
aEn 或 aen
a 为尾数部分,是⼀个⼗进制数;n 为指数部分,是⼀个⼗进制整数;E或e是固定的字符,⽤于分割尾数部分和指数部分。整个表达式
等价于 a×10n。
指数形式的⼩数举例:
2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数。
3.7E-2 = 3.7×10-2,其中 3.7 是尾数,-2 是指数。
0.5E7 = 0.5×107,其中 0.5 是尾数,7 是指数。
注意,只要写成指数形式就是⼩数,即使它的最终值看起来像⼀个整数。例如 14E3 等价于 14000,但 14E3 是⼀个⼩数。
Python 只有⼀种⼩数类型,就是 float。C语⾔有两种⼩数类型,分别是 float 和 double:float
能容纳的⼩数范围⽐较⼩,double 能容纳的⼩数范围⽐较⼤。
【实例】⼩数在 Python 中的使⽤:
运⾏结果:
从运⾏结果可以看出,Python 能容纳极⼩和极⼤的浮点数。print 在输出浮点数时,会根据浮点数的长度和⼤⼩适当的舍去⼀部分数字,或者采⽤科学计数法。
f5 的值是 120000,但是它依然是⼩数类型,⽽不是整数类型。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。