首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python中数字的相关运算:数学运算及函数运算

东尧爱分享

这是东尧每天一篇文章的第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转换为整型

float(obj)

将obj转换为浮点型

long(obj)

将obj转换为长整型

complex(obj) or complex(real, img)

转换为复数

bool(obj)

转换为布尔值

abs(num)

返回num的绝度值

pow(num1, num2)

取num1的num2次方

round(flt, 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语言写的,速度更快,只有少部分函数

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180414G0I3ZS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券