Python中的运算符和条件循环语句
- 上文Python数据类型详解01中主要介绍了
Python
中的一些常用的数据类型 - 这篇文章主要介绍一些
Python
中的运算符
运算符
算术运算符
以下假设变量a为9,变量b为7:
运算符 | 描述 | 实例 |
---|
- | 加 - 两个对象相加 | a + b 输出结果 16
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -2
- | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 63
/ | 除 - x除以y | a / b 输出结果 1.2857142857142858
% | 取模 - 返回除法的余数 | a % b 输出结果 2**
| 幂 - 返回x的y次幂 | 2**3, 输出结果 8//
| 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> |
大于 - 返回x是否大于y | (a > b) 返回 False。 |
< |
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 true。 |
>= |
大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= |
小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
赋值运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= |
幂赋值运算符 | c **= a 等效于 c = c ** a |
//= |
取整除赋值运算符 | c //= a 等效于 c = c // a |
以上这三类基本和其他语言的运算符没什么区别, 也没有什么地方是需要敲黑板的, 下面介绍的僵尸
Python
中比较特殊的运算符了
位运算符
按位运算符是把数字看作二进制来进行计算的。Python
中的按位运算法则如下:
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
^ | 按位异或运算符 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
<< | 左移动运算符 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
| 右移动运算符 | a >> 2 输出结果 15 ,二进制解释: 0000 1111
该运算符的运算方法是: 先将数字转成二进制, 再把二进制的每一位数字进行以上运算符运算, 最后再把结果转成十进制输出, 测试如下
1 | # 5.位运算符 |
逻辑运算符
Python
语言支持逻辑运算符,但是与其他语言(Swift
)中的逻辑运算符(&, |, !
)不同, 注意区别位运算符, 使用时不要用错了, 以下假设变量 a 为 10, b为 20:
运算符 | 描述 | 实例 |
---|---|---|
and | x and y 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 | (a and b) 返回 20。 |
or | x or y 布尔”或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 | (a or b) 返回 10。 |
not | not x 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True | not(a and b) 返回 False |
成员运算符
Python
支持成员运算符, 支持字符串,列表或元组
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回True,否则返回False | x 在 y序列中 , 如果x在y序列中返回True。 |
not in | 如果在指定的序列中没有找到值返回True,否则返回False | x 不在 y序列中 , 如果x不在y序列中返回True。 |
测试示例:
1 | # 成员运算符 |
身份运算符
身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个标识符是不是引用自一个对象 | x is y, 如果 id(x) 等于 id(y) , is 返回结果 1 |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 |
Python
运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** |
指数 (最高优先级) |
~, +, - |
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
*, /, %, // |
乘,除,取模和取整除 |
+, - |
加法减法 |
>>, << |
右移,左移运算符 |
& |
位 ‘AND’ |
`^, | ` |
<=, <, >, >= |
比较运算符 |
<>, ==, != |
等于运算符 |
=, %=, /=, //=, -=, +=, *=, **= |
赋值运算符 |
is, is not |
身份运算符 |
in, not in |
成员运算符 |
not, or, and |
逻辑运算符 |
条件和循环语句
Python
程序语言指定任何非0和非空null
值为true
,0 或者null
为false
- 由于
python
并不支持switch
语句,所以多个条件判断,只能用elif
来实现
if语句
- if语句的使用和其他语言没什么区别, 主要是格式不一样, 没有大括号, 主要时注意缩进
1 | if 判断条件: |
使用示例:
1 | # if-else语句 |
While循环语句
与C语言中用法一样, 这里就不在赘述了
for 循环语句
Python
中 for
循环可以遍历任何序列的项目,如一个列表或者一个字符串。
1 | # for循环 |
其中, 函数
len()
返回列表的长度,即元素的个数。range
返回一个序列的数, 这个后面会说到在
python
中,for … else
表示for
中的语句和普通的没有区别,else
中的语句会在循环正常执行完(即for
不是通过break
跳出而中断的)的情况下执行,while … else
也是一样。对于
Python
语言, 我也是小白, 正在努力学习中, 文中如有不足之处, 还望多多指教测试代码详见 GitHub地址
后期会持续更新相关文章