python 表达式和语句
表达式是值,变量和操作符(或叫运算符)的组合。单独的一个值是一个表达式,单独的变量也是一个表达式。
Python语句是一段可执行代码。常见的有赋值语句,if语句,while语句,for语句等等。
赋值
赋值的特性:变量名在首次赋值时会被创建,变量名在引用前必须先赋值
序列赋值:
在上面的例子中,写了两个元组,只是省略了它们的括号。python把赋值运算符右侧元组内的值和左侧元组内的变量相互匹配,然后每一次赋一个值
高级序列赋值:
右边元素的数目要跟左边的变量数目相同,不然会产生错误
扩展解包赋值:
一个带星号的变量名 ,收集了序列中没有赋值给其他名称的所有项
增强赋值语句:
x=1
x+=1
print(x)
赋值语句总结:
Python 条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:
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提供了两种循环语句:while循环和for循环
while 判断条件:
执行语句……
执行语句可以是单个语句或语句块。判断条件为True时执行一次执行语句,然后再次判断条件。直到判断条件假False时,循环结束。
例:
flag = 3
while flag > 0:
print("hello")
flag -= 1
print("循环结束")
输出:
注意:使用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")
输出:
类似 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("循环结束")
输出:
通过序列索引迭代:
格式:for 变量 in range(len(序列名)):
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print('当前水果 :', fruits[index])
print("Good bye!")
也可以指定一个范围内的数字:
for i in range(1, 5):
print(i)
输出结果:
注意: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 语言允许在一个循环体里面嵌入另一个循环
for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print (x + y)
输出结果:
break语句用来终止所在的循环语句:
for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print (x + y)
break
continue 语句用来跳出所在循环体的本次循环:
for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
if x == "B":
continue
print (x + y)