目录

Python基本数据类型


整数类型

整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。 整数类型与数学中整数的概念一致。

整数类型4种进制表示形式

-十进制:1010, 99999, -217,1314520

-二进制,以0b或0B开头:0b010, -0B101

-八进制,以0o或0O开头:0o123, -0O456

-十六进制,以0x或0X开头:0x9a, -0X89

进制的转换函数:

1
2
3
4
bini):将i转换为2进制,以“0b”开头。
octi):将i转换为8进制,以“0o”开头。
inti):将i转换为10进制,正常显示。
hexi):将i转换为16进制,以“0x”开头。

浮点数类型

浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)浮点数类型与数学中实数的概念一致,带有小数点及小数的数字。

-浮点数取值范围和小数精度都存在限制,但常规计算可忽略-取值范围数量级约10^307 至10^308,精度数量级10^-16。因此浮点数间运算存在不确定尾数,它不是bug。这是由于计算机内部以二进制保存,所以十进制的有限位的小数,在计算机内部会是一个无限位的小数。 例如 十进制的0.9虽然只有一位小数,转道成2进制是无限循环小数0.1110011001100110011

1
2
0.1 + 0.2 
>>0.30000000000000004

因此浮点数不能直接比较,

1、当浮点数进行比较时,就要加上round()函数,消除小数点后的不确定位数。

2、round(x, d):对x四舍五入,d是小数截取位数。

3、不确定尾数一般发生在10-16左右,round()十分有效

1
2
3
4
0.1 + 0.2 == 0.3
>>>False
round(0.1+0.2, 1) == 0.3
>>>True

浮点数可以采用科学计数法表示

使用字母e或E作为幂的符号,以10为基数,格式如下:

< a >e< b > 表示a*10^b

例如:4.3e-3值为0.0043

9.6E5值为960000.0

复数类型

复数(complex) - 复数由实数部分和虚数部分构成.a+bj被称为复数,其中,a是实部,b是虚部。 复数类型与数学中复数的概念一致

z = 1.23e-4+5.6e+89j

z.real获得实部

z.imag获得虚部

数字类型的关系

类型间可进行混合运算,生成结果为"最宽"类型

三种类型存在一种逐渐"扩展"或"变宽"的关系:整数->浮点数-> 复数,例如:

1
123 + 4.0 = 127.0 (整数+浮点数= 浮点数)

常用的数值运算函数

1
2
3
4
5
6
7
8
9
abs(x)  #绝对值,x的绝对值.例如abs(-10.01) 结果为10.01
divmod(x,y)#商余,(x//y, x%y),同时输出商和余数,例如divmod(10, 3) 结果为(3,1)
pow(x, y[,  z])#幂余,(x**y)%z,[..]表示参数z可省略,例如pow(3, pow(3, 99),10000) 结果为4587
round(x[, d])#四舍五入,d是保留小数位数,默认值为0,例如:round(-10.123,2) 结果为-10.12
max(x1,x2, ... ,xn)#最大值,返回x1,x2, ... ,xn中的最大值,n不限,例如:max(1, 9, 5, 4,3) 结果为9
min(x1,x2, ... ,xn)#最小值,返回x1,x2, ... ,xn中的最小值,n不限,例如:min(1, 9, 5, 4, 3) 结果为1
int(x)#将x变成整数,舍弃小数部分,例如:int(123.45) 结果为123;int("123") 结果为123
float(x)#将x变成浮点数,增加小数部分,例如:float(12) 结果为12.0;float("1.23") 结果为1.23
complex(x)#将x变成复数,增加虚数部分,例如:complex(4) 结果为4 + 0j

参考资料:Python语言程序设计基础(第2版)》嵩天、礼欣、黄天羽著,高等教育出版社,2017.2(讲授Python 3版本)

视频课程