A byte of Python --2-- Operators and Expressions,Control Flow
文章目录
主要学习了Python语言中的运算符与表达式与控制流相关的内容,依然是基础的知识,稳固一点,慢慢前行。
运算符与表达式
表达式(Expressions)=运算符(Operators)+操作数(Operands)
常用的运算符整理如下
算术运算符
运算符 | 名称 | 作用 | 示例 |
---|---|---|---|
+ | 加 | 两个对象相加 | 3+5 则输出 8 。 ‘a’ + ‘b’ 则输出 ‘ab’ |
- | 减 | 从一个数中减去另一个数,如果第一个操作数不存在,则假定为零 | -5.2 将输出一个负数, 50 - 24 输出 26 |
* | 乘 | 给出两个数的乘积,或返回字符串重复指定次数后的结果 | 2 * 3 输出 6 。 ‘la’ * 3 输出 ‘lalala’ 。 |
** | 乘方 | 返回 x 的 y 次方 | 3 ** 4 输出 81 (即 3 * 3 * 3 * 3 ) |
/ | 除 | x 除以 y | 13 / 3 输出 4.333333333333333 |
// | 整除 | x 除以 y 并对结果向下取整至最接近的整数 | 13 // 3 输出 4 ,-13 // 3 输出 -5 |
% | 取模 | 返回除法运算后的余数 | 13 % 3 输出 1 , -25.5 % 2.25 输出 1.5 |
位运算符
运算符 | 名称 | 作用 | 示例 |
---|---|---|---|
« | 左移 | 将数字的位向左移动指定的位数 | 2 « 2 输出 8 。 即10«2为1000=8 |
» | 右移 | 将数字的位向右移动指定的位数 | 11 » 1 输出 5。即1011»1为101=5 |
& | 按位与 | 对数字进行按位与操作 | 5 & 3 输出 1 |
| | 按位或 | 对数字进行按位或操作 | 5 | 3 输出 7 |
^ | 按位异或 | 对数字进行按位异或操作 | 5 ^ 3 输出 6 |
~ | 按位取反 | x 的按位取反结果为 -(x+1) | ~5 输出 -6 |
< | 小于 | 返回 x 是否小于 y | 5 < 3 输出 False , 3 < 6 输出 True, 3 < 5 < 7 返回 True |
比较运算符
运算符 | 名称 | 作用 | 示例 |
---|---|---|---|
> | 大于 | 返回 x 是否大于 y | 5 > 3 返回 True |
<= | 小于等于 | 返回 x 是否小于或等于 y | x = 3; y = 6; x<=y 返回 True |
>= | 大于等于 | 返回 x 是否大于或等于 y | x = 4; y = 3; x>=3 返回 True |
== | 等于 | 比较两个对象是否相等 | x = 2; y = 2; x == y 返回 True, x = ‘str’; y = ‘stR’; x == y 返回 False, x = ‘str’; y = ‘str’; x == y 返回 True |
!= | 不等于 | 比较两个对象是否不相等 | x = 2; y = 3; x != y 返回 True |
布尔运算符
运算符 | 名称 | 作用 | 示例 |
---|---|---|---|
not | 布尔“非” | 如果 x 是 Ture ,则返回 False 。如果 x 是 False ,则返回 True | x = Ture; not x 返回 False |
and | 布尔“与” | 如果 x 是 False ,则 x and y 返回 False ,否则返回 y 的计算值 | x = False; y = True; x and y 将返回 False |
or | 布尔“或” | 如果 x 是 True ,则返回 True ,否则它将返回 y 的计算值 | x = Ture; y = False; x or y 将返回 Ture |
更加详细的运算符及运算规则参见Python参考手册
控制流
在Python中有三种控制流语句:if, for 和 while
if
语句
if
语句检查条件:
- 如果 条件为真(True),我们将运行一块语句(称作 if-block 或 if 块);
- 否则 我们将运行另一块语句(称作 else-block 或 else 块)。
- else 语句可选 示例程序块如下:
|
|
注意:Python 中不存在 switch 语句。通过使用 if..elif..else 语句来实现相同功能。
while
语句
while
语句检查条件:
- 在条件为真的前提下重复执行某块语句;
- while 语句是 循环(Looping) 语句的一种;
- while 语句同样可以拥有 else 语句作为可选选项。 示例程序块如下:
|
|
for
语句
for...in
语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目。
示例程序块如下:
|
|
range
的用法:
- 默认情况下,
range
将会以 1 逐步递增,如range(1,5)
将输出序列 [1, 2, 3, 4]; - 如果我们向
range
提供第三个数字,则这个数字将成为逐步递增的加数,如range(1,5,2)
将会输出 [1, 3]; range()
每次只会生成一个数字,如果要获得完整的数字列表,需要在使用range()
时调用list()
,如:list(range(5))
,将会输出 [0, 1, 2, 3, 4];for i in range(1,5)
等价于for i in [1, 2, 3, 4]
,这个操作将依次将队列里的每个数字(或对象)分配给i,然后以每个 i 的值执行语句块
注意:Python中的for
循环与C/C++/C#/Java的区别
Python中的for
循环和C/C++中的for
循环可以说是完全不同:在C/C++中,若编写for (int i = 0; i < 5; i++)
,则等价于Python中的for i in range(0,5)
。
break
语句
break
语句用以中断(Break)循环语句,也就是中止循环语句的执行,即使循环条件没有变更为 False ,或队列中的项目尚未完全迭代依旧如此。如果中断了一个for
或while
循环,那么任何相应循环中的else
块都将不会被执行。
示例程序块如下:
|
|
continue
语句
continue
语句用以告诉Python跳过当前循环块中的剩余语句,并继续该循环的下一次迭代。
示例程序块如下:
|
|
文章作者 lzwang
上次更新 2018-01-24