赞
踩
东尧爱分享
这是东尧每天一篇文章的第7天
东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福。
Python中的数字类型有很多,可以说对这些数据的处理形成了python的基础功能。
那么,python中对数字的处理有哪些方式?常用的数学运算在python中也是否适用呢?
本篇文章会从数字类型、数学运算、内建函数、进制转换等几方面来全方位为您详解python中数字的相关运算。
1
常见python数字类型
整型
标准整型
长整型(在数字后面加上字母L表示长整型)
python中的长整型跟其它语言(C语言)所表示的长整型是不一样的,在python中长整型所能表 达的数值大小仅仅跟机器的虚拟内存大小有关。
浮点型
浮点型就是数字中带有小数点的数,科学计数法的也算是浮点型(1e10, 1.3e3)
复数
包含实数和虚数部分的数(基本用不到的)
布尔类型
真 True 1 ;假 False 0 ;
2
python内的数学运算
算术运算
符号
含义
—
数学加法
-
数学减法
-
数学乘法
/
数学除法
//
地板除,向下取整
//
取模(数学中的求余数)
实例:
python数字加减乘运算
除法:在算术运算中,需要注意的两个运算是“/”除法运算和“//”地板除运算。
在python3中,“/”除法运算计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
>>> 9 / 3
3.0
而“//”地板除则相反,地板除只取结果的整数部分,所以其返回结果永远是整数,即使除不尽:
>>> 10 // 3
3
python数字除法运算
幂运算
符号
含义
**
幂运算(次方运算)
python数字幂运算
位运算(只有整数适用)
符号
含义
左移运算,相当于乘以2的N次方
>>
右移运算,相当于除以2的N次方
&
按位与
|
按位或
^
按位异或
~
按位取反
左移运算:相当于乘以2的n次方。右移运算:除以2的n次方。例如:
>>> 2
16
>>> 2 * 2 ** 3
16
这两个运算实际上是等同的。
按位与: 二进制下一位对一位,同时为真才为真。例如:
>>> 2 & 1
>>> 3 & 1
1
>>> 2 & 3
2
让我们来看下背后的逻辑:2的二进制是0010,1的二进制是0001,3的二进制是0011。
将他们对齐排列,竖直判断:同时为真才为真,否则为0。所以这样排列计算后得出的结果就是0,1,2
按位或:任意一个为真就为真。
>>> 3 | 1
3
>>> 3 | 2
3
>>> 2 | 1
3
按位异或:两者不同为真
>>> 3 ^ 1
2
>>> 2 ^ 1
3
>>> 2 ^ 3
1
关系运算(比较运算符)
符号
含义
—
大于
-
小于
==
等于
>=
大于等于
小于等于
!=
不等于
增量运算符
增量运算符是(在自身值的基础上进行运算)
符号
含义
+=
加等于
-=
减等于
*=
乘等于
/=
除等于
//=
地板除等于
**=
幂等于
除法:算术除法和地板除的增量运算并不会影响其返回的结果类型,也就是说“/”返回浮点数,“//”返回整数,如下图:
3
内建函数
函数
说明
int(obj)
将obj转换为整型
?oat(obj)
将obj转换为浮点型
long(obj)
将obj转换为长整型
complex(obj) or complex(real, img)
转换为复数
bool(obj)
转换为布尔值
abs(num)
返回num的绝度值
pow(num1, num2)
取num1的num2次方
round(?t, ndig=1)
返回浮点数x的四舍五入值。ndig表示保留多少位小数
divmod(num1, num2)
num1除以num2,以元组的方式返回两个数的商数和余数
int():可以转换数字字符,但需要注意的是字符内容必须为整型。浮点数或其它类型均会报错,示例如下:
float():也可以转换数字字符,但若出现小数点和数字之外的内容就会报错,示例如下:
round():返回浮点数x的四舍五入值。默认返回整数,返回n位小数:
>>> round(3.6)
4
>>> round(3.678,2)
3.68
>>> round(3.642,2)
3.64
4
进制转换
进制表示法
二进制表示
以0b/0B开始表示二进制。如:0b10、0B10
八进制表示
以0o/0O/0开始表示八进制。如:010、0o10/0O10
十进制表示
默认就是表示十进制的。
十六进制表示
以0x/0X 开头的数表示十六进制
进制转换函数
函数
作用
oct(num)
将num转换为八进制
hex(num)
将num转换为十六进制
5
相关模块
更多的数学函数库可以使用下面的这两个模块,都是python内置的。
math:python写的,速度没那么快,但是封装的函数比较多
cmath: C语言写的,速度更快,只有少部分函数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。