![aad11564e1ee8c839424327d1a09ec41.png](https://img-blog.csdnimg.cn/img_convert/aad11564e1ee8c839424327d1a09ec41.png)
李宁老师已经在「极客起源」 微信公众号推出《Python编程思想》电子书,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以在「极客起源」 公众号中输入 160442 开始学习,或点击「极客起源」公众号下方的「编程思想」 > 「Python编程思想」 菜单开始学习。
----------------正文---------------
Python 提供了三种数值类型:int(整型),float(浮点型)和complex(复数)。
- int:通常被称为整型或者整数,如200、299、10都属于整型;
- float:浮点数包含整数和小数部分,如3.1415926,2.71828都属于浮点数;
- complex:复数包含实数部分和虚数部分,形如 a+bj,其实部和虚部都是浮点类型;
需要注意的是,Python3 已经废弃了 Python2 的 Long(长整型),在 Python3 中,int 的大小没有限制,可以作为 Long 使用。这也是为什么Python非常适合科学计算的原因,因为Python可以处理无限大的整数。在Python中进行数值运算,并不需要考虑溢出问题,因为Python的数值永远不会溢出。
1. 数值类型之间的转换
Python 的三种数值类型可以进行相互转换,转换方式为:数字类型+圆括号,如下实例:
![d7baf93bc566097d81fd840415bbcd47.png](https://img-blog.csdnimg.cn/img_convert/d7baf93bc566097d81fd840415bbcd47.png)
执行结果如下图所示:
![a9cafb96b5cb1ca607c008e1c66ba9b5.png](https://img-blog.csdnimg.cn/img_convert/a9cafb96b5cb1ca607c008e1c66ba9b5.png)
2. 常用的数学函数
Python 提供了丰富的数学函数以降低编程实现的难度,本问将介绍一些常用的函数。
![b8be8b3f886447c30bffb41da780f54d.png](https://img-blog.csdnimg.cn/img_convert/b8be8b3f886447c30bffb41da780f54d.png)
执行结果如下图所示:
![e28e71c0f4e1f5598ccdb7529dbc6cc5.png](https://img-blog.csdnimg.cn/img_convert/e28e71c0f4e1f5598ccdb7529dbc6cc5.png)
3. 运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机编程语言,Python 也提供了一套丰富的运算符来满足各种运算需求。
Python 运算符主要可以分为6种:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符和成员运算符。
(1)算术运算符
对于算术运算,大家并不陌生,常用的加减乘除就是算术运算。不过,在编程语言里,算术运算符特殊一些,Python 中的算术运算有7种:加(+)、减(-)、乘( * )、除(/)、取模(%)、幂运算( ** )和取整预算(//)。以下通过实例演示算术运算符的用法。
![abbe6e3a3c2fcb77f241aff6fc946142.png](https://img-blog.csdnimg.cn/img_convert/abbe6e3a3c2fcb77f241aff6fc946142.png)
执行结果如下图所示:
![ed6f40dad65fa21a4405302ae917af90.png](https://img-blog.csdnimg.cn/img_convert/ed6f40dad65fa21a4405302ae917af90.png)
(2)比较运算符
比较无处不在,大于、小于、等于、不等于……和 C/C++、Java 等编程语言一样,Python 也提供了6种比较运算符:>(大于),<(小于),==(等于),!=(不等于),>=(大于等于),<=(小于等于)。比较运算的结果是一个布尔值,True 或者 False,看下面的案例代码:
![9dab69688075129b76754956b2c0627c.png](https://img-blog.csdnimg.cn/img_convert/9dab69688075129b76754956b2c0627c.png)
执行结果如下图所示:
![3d0d2f3bdf05a296188bebf617f3bbd2.png](https://img-blog.csdnimg.cn/img_convert/3d0d2f3bdf05a296188bebf617f3bbd2.png)
(3)赋值运算符
其实在前面的代码中已经用到赋值运算,如 x = 12,就是一个最简单的赋值运算,“=”就是最简单的赋值运算符。将简单的赋值运算与算术运算结合,Python 形成了更丰富的赋值运算符:+=、-=、=、/=、%=、*=、//=。看下面的案例代码:
![c0ae71322451930a8c8bd307f12e2c5b.png](https://img-blog.csdnimg.cn/img_convert/c0ae71322451930a8c8bd307f12e2c5b.png)
执行结果:
![6915930dc3e12d79943b07274eeaad42.png](https://img-blog.csdnimg.cn/img_convert/6915930dc3e12d79943b07274eeaad42.png)
(4)逻辑运算符
所谓逻辑运算,就是:与、或、非。Python 中的3种逻辑运算符分别为:and(与),or(或),not(非),逻辑运算的结果是布尔值:True 或者 False。
- A and B:当A和B有一个为False时,结果就为False,只有A和B都为True时,结果才为True;
- A or B:只有当A和B都是False时,结果才为False,只要有一个为True,结果就为True;
- not A:当 A 为 True 时,返回 False,否则返回 True。
看下面的案例:
![5894c56ea59a9db93c002b84a42248b5.png](https://img-blog.csdnimg.cn/img_convert/5894c56ea59a9db93c002b84a42248b5.png)
执行结果如下图所示:
![34cfa1b5f21aa47e75f6e4a31250a79d.png](https://img-blog.csdnimg.cn/img_convert/34cfa1b5f21aa47e75f6e4a31250a79d.png)
(5)位运算符
程序中的所有数值在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。Python 中有6种位运算符:
- &:按位与,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
- |:按位或,只要对应的2个二进位有一个为1时,结果位就为1;
- ^:按位异或,当两对应的二进位相异时,结果为1;
- ~:按位取反,对数据的每个二进制位取反,即把1变为0,把0变为1;
- >>:按位右移,将>>左侧的数按位向右移动>>右边的数指定的位;
- <<:按位左移,将<<左侧的数按位向左移动<<右边的数指定的位;
看下面的案例代码:
![a2d80cfd54517d67c3e4173961a69fc1.png](https://img-blog.csdnimg.cn/img_convert/a2d80cfd54517d67c3e4173961a69fc1.png)
执行结果如下图所示:
![91f68768db7768ea1eb99917603c59f1.png](https://img-blog.csdnimg.cn/img_convert/91f68768db7768ea1eb99917603c59f1.png)
这里讲a=21,b=6,转换为二进制如下:
![e2f46e7c3f31caa3a49fb4e283b407fb.png](https://img-blog.csdnimg.cn/img_convert/e2f46e7c3f31caa3a49fb4e283b407fb.png)
(6)成员运算符
除了前面介绍的5种运算符,Python 还支持成员运算符。介绍成员运算符之前,我们需要提前了解一个概念:数据结构,如字符串、列表、元组、字典。在接下来的文章中我们将详细介绍这些基础的数据结构。字符串、列表、字典,它们就像一个集合,其中包含若干元素,这些元素就是集合的成员;对于一个给定的元素,它有可能在一个给定的集合中,也可能不在,Python 中采用成员运算符来判断元素是否属于成员,成员运算的结果为布尔值,True 或者 False。
看下面的代码:
![b7029717a018526e64723bf66d62a646.png](https://img-blog.csdnimg.cn/img_convert/b7029717a018526e64723bf66d62a646.png)
执行结果如下图所示:
![69ded135a1fb6159d131d371b61533e6.png](https://img-blog.csdnimg.cn/img_convert/69ded135a1fb6159d131d371b61533e6.png)