一、循环
- 有限循环
for item in iterable:
do
item在代码中可以直接自定义,item是iterable中的一个元素。
- range:左含右不含
for i in range(5)
print(i)
0
1
2
3
4
- 无限循环
while count<5:
print(count)
count += 1
- continue:循环的继续。循环遇到continue将停止本次数据循环,进入下一次循环。
for item in iterable:
continue
print(item)
- break:使循环正常停止循环(遍历),这时如果循环配合了else语句,else语句将不执行。
while bool:
break
for item in iterable:
print(item)
break
for i in range(6):
print(i)
if i == 4:
print(i)
break
有break的时候,满足条件会停止循环。
0
1
2
3
4
4
for i in range(6):
print(i)
if i == 4:
print(i)
0
1
2
3
4
4
5
- for在循环时,循环一遍就结束,不返回循环中的值。for 的item是从列表中获取。
- While在循环时,将第一遍循环的值做为下一次的初始值。while的item是循环的返回值。
while i<9:
i += 1
print(i)
break
- return:停止循环并返回值。
count = 1
def calculate():
global count
count += 1
if count != 5:
print('count是%s' % count)
return count
a = calculate()
print(a)
count是2
2
二、异常
- try
try:
1/0
except Exception as e:
print(e)
e = 'division by zero'
e是出现的问题,将系统的报错存储成e变量。
- 捕获多个异常:将异常是元组包裹起来,捕获到哪种抛哪种,但是只会抛出第一个捕获的异常。
try:
print('try start')
print(name)
print('try finish')
except (ZeroDivisionError, Exception) as e:
print(e)
try start
name 'name' is not defined
try:
print('try start')
res = 1/0
print(name)
print('try finish')
except (ZeroDivisionError, Exception) as e:
print(e)
try start
division by zero
- finally
- 无论是否发生异常,一定会执行的代码块。在try或except中也会执行finally,try语法至少要伴随except或者finally中的一个。
- 如果是把try只和finally一起使用时,不会报错,会直接执行finally.
- raise
def test():
raise NameError('this is a bug')
- assert(断言):判断一个表达式,在表达式为false的时候触发异常。
assert == 1
assert 1 > 2