python 表达式和语句

表达式是值,变量和操作符(或叫运算符)的组合。单独的一个值是一个表达式,单独的变量也是一个表达式。

Python语句是一段可执行代码。常见的有赋值语句,if语句,while语句,for语句等等。

赋值

赋值的特性:变量名在首次赋值时会被创建,变量名在引用前必须先赋值

序列赋值:

python赋值语句合法 python赋值语句的含义_python赋值语句合法

在上面的例子中,写了两个元组,只是省略了它们的括号。python把赋值运算符右侧元组内的值和左侧元组内的变量相互匹配,然后每一次赋一个值

高级序列赋值:

python赋值语句合法 python赋值语句的含义_python赋值语句合法_02

右边元素的数目要跟左边的变量数目相同,不然会产生错误

扩展解包赋值:

python赋值语句合法 python赋值语句的含义_python语句_03

一个带星号的变量名 ,收集了序列中没有赋值给其他名称的所有项

增强赋值语句:

x=1
x+=1
print(x)
赋值语句总结:

python赋值语句合法 python赋值语句的含义_条件表达式_04

Python 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:

python赋值语句合法 python赋值语句的含义_python赋值语句合法_05

Python 编程中 if 语句用于控制程序的执行,格式为:

if 判断条件:

  执行语句……

判断条件成立(值为True),执行执行语句;否则不执行执行语句。

注意:Python程序语言指定任何非0和非空(None)值为true,0 或者 None为false。

if 判断条件:

  执行语句……

else:

  执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句

if 判断条件1:

  执行语句1……

elif 判断条件2:

  执行语句2……

elif 判断条件3:

  执行语句3……

else:

  执行语句4……

if 语句的判断条件可以用>、<、==、>=、<=来表示其关系。当判断条件为多个值时,可以使用以上形式,注意:python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现。

如果判断条件有多个时,可以使用and/or连接。

例如:

num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
  print('Yes')
else:
  print('no')
  # 输出结果: Yes

输出:Yes

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比and/or要优先判断。

例如:

# 判断值是否在0~5或者10~15之间

if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
  print('hello')
else:
  print('undefine')  
  # 输出结果: undefine

python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。

例如:

a=0
b=1

if ( a > 0 ) and ( b / a > 2 ):
  print("yes")
else :
  print("no")

输出:no

正常执行不会报除零错误

a=0
b=1

if ( a > 0 ) or ( b / a > 2 ):
  print("yes")
else :
  print("no")
输出:

C:\ProgramData\Anaconda3\python.exe E:/python_code/.idea/test.py
Traceback (most recent call last):
  File "E:/python_code/.idea/test.py", line 38, in <module>
    if ( a > 0 ) or ( b / a > 2 ):
ZeroDivisionError: division by zero

 无法执行报除零错误

可以在同一行的位置上使用if条件判断语句:

var = 100
if ( var == 100 ) : print("变量 var 的值为100")
输出:

python赋值语句合法 python赋值语句的含义_条件表达式_06

python赋值语句合法 python赋值语句的含义_循环_07

Python提供了两种循环语句:while循环和for循环

while 判断条件: 

   执行语句……

执行语句可以是单个语句或语句块。判断条件为True时执行一次执行语句,然后再次判断条件。直到判断条件假False时,循环结束。

例:

flag = 3
while flag > 0:
  print("hello")
  flag -= 1
print("循环结束")

输出:

python赋值语句合法 python赋值语句的含义_条件表达式_08

注意:使用while循环时别忘了写条件控制语句,否则会变为死循环。(循环条件永远为Ture)

循环使用 else 语句,在 python 中,while … else 在循环执行结束后,执行 else 语句块:

count = 0
while count < 5:
  print(count, " is less than 5")
  count = count + 1
else:
  print(count, " is not less than 5")

输出:

python赋值语句合法 python赋值语句的含义_python赋值语句合法_09

类似 if 语句的语法,如果while 循环体中只有一条语句,可以将该语句与while写在同一行中:while (True): print(True!')

使用for循环来遍历序列:

格式:

for 变量 in 序列:

num = [1,2,3,4,5,6,7]
for i in num:
  print(i)
print("循环结束")

输出:

python赋值语句合法 python赋值语句的含义_python_10

通过序列索引迭代:

格式:for 变量 in range(len(序列名)):

fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
  print('当前水果 :', fruits[index])
print("Good bye!")

python赋值语句合法 python赋值语句的含义_循环_11

也可以指定一个范围内的数字:

for i in range(1, 5):
  print(i)

输出结果:

python赋值语句合法 python赋值语句的含义_python赋值语句合法_12

注意:range左边界可以取到,右边界取不到

还可以在range里面设置步长:

for i in range(1, 5, 2):
  print(i)

输出结果:1,3

在 python 中,else 中的语句会在循环正常执行完的情况下执行:

fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
  print('当前水果 :', fruits[index])
else:
  print("结束")

python赋值语句合法 python赋值语句的含义_python_13

Python 语言允许在一个循环体里面嵌入另一个循环

for x in ['A', 'B', 'C']:
  for y in ['1', '2', '3']:
    print (x + y)

输出结果:

python赋值语句合法 python赋值语句的含义_条件表达式_14

break语句用来终止所在的循环语句:

for x in ['A', 'B', 'C']:
  for y in ['1', '2', '3']:
   print (x + y)
   break


python赋值语句合法 python赋值语句的含义_循环_15


continue 语句用来跳出所在循环体的本次循环:

for x in ['A', 'B', 'C']:
  for y in ['1', '2', '3']:
   if x == "B":
     continue
   print (x + y)


python赋值语句合法 python赋值语句的含义_python_16