数据类型及操作
整数类型:
与数学中整数的概念一致:
-可正可负,没有复制范围的限制
-pow(x,y)函数:计算x^y,想算多大算多大
>>> pow(2,100)
1267650600228229401496703205376
>>> pow(2,pow(2,15))
1415461031044954789001553027744951601348130711472388167234385748272366634240845253596025356...
表示方法:
-十进制:1010,99,-21
-二进制:以0b或0B开头:0b010,-0B101
-八进制:以0o或0O开头:0o123,-0O456【零欧,不是零零】
-十六进制:以0x或0X开头:0x9a,-0X89
浮点数类型:
与数学中实数的概念一致
-带有小数点及小数的数字
-浮点数取值范围和小数精度都存在限制,但这种限制在常规计算可忽略
-取值范围数量级约-10^308至10^308,精度数量级10^(-16)
浮点数间运算存在不确定尾数,不是bug,例如:
>>> 0.1+0.3
0.4
>>> 0.1+0.2
0.30000000000000004 #不确定尾数造成的,不确定尾数问题在很多语言中都存在,它涉及到计算机对数字运算的内部实现原理
-round(x,d):对x四舍五入,d是小数截取位数,浮点数运算及比较用round()函数辅助,不确定尾数一般发生在10^(-16)左右,round()非常有效
>>> 0.1+0.2 == 0.3
False #不确定尾数造成
>>> round(0.1+0.2,1) == 0.3
True #使用round()函数之后可以顺利比较
浮点数可以采用科学计数法表示
-使用字母e或E作为幂的符号,以10为基数,格式如:<a>e<b>,表示a*10^b
复数类型:
与数学中复数的概念一致
-a+bj被称为复数,其中,a是实部,b是虚部。例如:z=1.23e-4+5.6e+89j
>>> z=1.23e-4+5.6e+89j
>>> print(z.real) #z.real读取实部
0.000123
>>> print(z.imag) #z.imag读取虚部
5.6e+89
数值运算操作符
操作符及使用 |
描述 |
x + y |
加,x与y之和 |
x - y |
减,x与y之差 |
x * y |
乘,x与y之积 |
x / y |
除,x与y之商 10/3结果是3.3333333333333333335 |
x // y |
整数除,x与y之整数商 10/3结果是3 |
+ x | x本身 |
- y | y的负值 |
x % y | 余数,模运算 10%3结果是1 |
x ** y | 幂运算,x的y次幂,x^y 当y是小数时,开方运算 10**0.5结果是根号10 |
x op y | 即 x = x op y,其中,op为二元操作符 x += y x -= y x *= y x /= y x //= y x %= y x **= y
|
数值运算函数
函数及使用 | 描述 |
abs(x) | 绝对值,x的绝对值 ads(-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;int("1.23")结果为1.23 |
complex(x) | 将x变成复数,增加复数部分 complex(4)结果为4+0j |