if语句
# 语法
# "if" assignment_expression ":" suite
# ("elif" assignment_expression ":" suite)* # *表示可以匹配多个elif
# ["else" ":" suite] # 括号和方括号表示可省略
# eg:
if (1<2): # 判断语句1
print('yes') # 执行语句1
elif (1==2): # 判断语句2
print('no') # 执行语句2
elif (1>2): # 判断语句3
print("noo0") # 执行语句3
else:
print('yeeees') # 执行语句4
while语句:
'''
语法:
"while" assignment_expression ":" suite
["else" ":" suite] #
'''
# eg:
while (1<2): # 循环条件
print('yes') # 执行语句
else:
print("no") # 循环条件变为假值时执行, 然后跳出循环; 如果是break跳出循环,不会执行。
# 以前一直没发现有个else的用法, 类似try..except..else..finally中的finally的用处,也跟C++的都
# do..while刚好相反,暂时没发现有啥用处<goutou>
for语句
'''
语法
"for" target_list "in" expression_list ":" suite
["else" ":" suite]
'''
# eg:
for i in range(10): # 循环遍历任何可迭代对象terator
print(i) # 执行语句
else:
print('end') # 循环耗尽可迭代对象后执行else语句,并终止循环;如果是break跳出循环,不会执行。
# 又有个else语句, 似乎没啥用。。。
try语句
'''
语法
"try" ":" suite
("except" [expression ["as" identifier]] ":" suite)+
["else" ":" suite] # try 语句中的 else 子句会在未发生异常时执行
["finally" ":" suite] # 不管怎样都会执行,如果有return,将会在这里返回而不管前面有没有return
'''
# try语句的异常存放在sys模块里,可以在except语句里通过print(sys.exec_info()查看详细异常信息;
# eg:
import sys
try:
print(1/0)
except AttributeError as a: # 匹配异常类型
print(a)
except ZeroDivisionError as z:
print(z)
e = sys.exc_info()
print(e)
except:
print("do something esle") # 不匹配异常,达到类似if else的效果。
with语句
'''
语法:
with (EXPRESSION as TARGET, )*:
SUITE
'''
# eg:
pass