主要学习了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, forwhile

if语句

if语句检查条件:

  1. 如果 条件为真(True),我们将运行一块语句(称作 if-block 或 if 块);
  2. 否则 我们将运行另一块语句(称作 else-block 或 else 块)。
  3. else 语句可选
    示例程序块如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    number = 23
    guess = int(input('Enter an integer:'))

    if guess == number:
    print('Congratulations, you guessed it.')
    print('(but you do not win any prizes!)')
    elif guess < number:
    print('No, it is a little higher than that')
    else:
    print('No, it is a little lower than that')
    print('Done')

注意:Python 中不存在 switch 语句。通过使用 if..elif..else 语句来实现相同功能。

while语句

while语句检查条件:

  1. 在条件为真的前提下重复执行某块语句;
  2. while 语句是 循环(Looping) 语句的一种;
  3. while 语句同样可以拥有 else 语句作为可选选项。
    示例程序块如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    number = 23
    running = True

    while running:
    guess = int(input('Enter an integer : '))

    if guess == number:
    print('Congratulations, you guessed it.')
    running = False
    elif guess < number:
    print('No, it is a little higher than that.')
    else:
    print('No, it is a little lower than that.')
    else:
    print('The while loop is over.')
    print('Done')

for语句

for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目。

示例程序块如下:

1
2
3
4
for i in range(1,5):
print(i)
else:
print('The for loop is over')

range的用法:

  1. 默认情况下,range将会以 1 逐步递增,如range(1,5) 将输出序列 [1, 2, 3, 4];
  2. 如果我们向range提供第三个数字,则这个数字将成为逐步递增的加数,如range(1,5,2)将会输出 [1, 3];
  3. range()每次只会生成一个数字,如果要获得完整的数字列表,需要在使用range()时调用list(),如:list(range(5)),将会输出 [0, 1, 2, 3, 4];
  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 ,或队列中的项目尚未完全迭代依旧如此。如果中断了一个forwhile循环,那么任何相应循环中的else块都将不会被执行。

示例程序块如下:

1
2
3
4
5
6
while True:
s = input('Enter something:')
if s == 'quit':
break
print('Length of the string is',len(s))
print('Done')

continue语句

continue语句用以告诉Python跳过当前循环块中的剩余语句,并继续该循环的下一次迭代。
示例程序块如下:

1
2
3
4
5
6
7
8
while True:
s = input('Enter something:')
if s == 'quit':
break
if len(s)<3:
print('Too small')
continue
print('Input is of sufficient length')