数据类型
概述
- Python3 支持:整型(int)、浮点型(float)、复数(complex)
- Python2,那么还包含长整型(long)。
详解
整型:
- 整型就是常说的整数,或正或负的整数,没有小数点。它的长度是没有限制的,所以 Python3 没有其他语言的长整型(long)。当需要的时候,python3.0的整数类型会自动提供额外的精度,所以不会溢出。
a = 17
a = 1_7 # 会忽略下划线,见下文
b = - 17
b = -17
c = 0x11 # 17 十六进制
d = 0o101 # 65 八进制
- python中可以处理任意大小的整数,而且支持二进制、八进制、十进制、十六进制的表示法. 可以使用前缀 0x,0o 和 0b 分别表示 16、8、2 进制的表示方式。
a = 97 # 10 进制
a = 0b01100001 # 2 进制
a = 0B01100001 # 2 进制
a = 0x61 # 16 进制
a = 0X61 # 16 进制
a = 0o301 # 8 进制
a = 0O301 # 8 进制
浮点型
- 就是小数。由整数部分和小数部分组成。
- 浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。
- 之所以把浮点数叫做小数,是因为按照科学计数法表示时,小数点位置可变。
x = 1.10
y = 1.0
y2 = 1. # 1.0
z = -11.01
z2 = .1
#科学计数法
e = 3.5e5 # 350000.0 e后面跟着的表示是10的幂次
f = 1E6 # 1000000.0
- float(‘inf’) 的结果 inf 正无穷,float(“-inf”) 负无穷。float(“nan”) 代表缺失值。
复数型
- 复数型:
- 形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j
- 或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
实例:
基本运算
整型和浮点型均支持下表中运算
数学函数
除了上面的基本运算外,还可以借助数学模块 math 实现更多的运算。
首先要先引入数学模块 math。如下所示:
import math
引入之后就可以使用了,以 math 模块中求平方根函数 sqrt(x) 为例。使用方式如下所示:
import math
math.sqrt(1024)
math 模块中除了求平方根函数,还有很多可以使用的函数。如下表所示:
随机函数
在安全领域有时会用到随机数,random 模块对随机数的生成提供了支持。
首先还是要引入 random 模块。如下所示:
import random
下面简单介绍两个函数:
random(x)函数
随机生成一个 0 到 1 范围内的实数。使用如下所示:
import random
random.random()
uniform(x, y)函数
随机生成一个 x 到 y 范围内的实数。使用如下所示:
import random
random.uniform(1,10)
其他
数字下划线
Python 3.6 开始支持新的数字下划线功能,对于很大的数字以提高可读性。
123_456_789 # 123456789 可以在较大的数字用下划线连接
123_456.888 # 123456.888
f'{10000000000:_}' # 10_000_000_000
'{:_}'.format(10000000000) # 10_000_000_000
科学计数法
如果中间有字母 e 在其中,那么 e 后边的数学就代表 10 多少次方乘以前面的数字:
# 用科学计数法赋值
n = 1e4
n # 10000.0
m = 2e-2
m # 0.02