4、Python中的控制结构
目录目录条件分支循环while循环for循环异常处理异常捕获产生异常自定义异常条件分支跟其他的编程语言是一样的情况#!/usr/bin/env python# encoding: utf-8my_name = 'zengraoli'if len(my_name > 0):print("len is > 0")e...
·
目录
条件分支
跟其他的编程语言是一样的情况
#!/usr/bin/env python
# encoding: utf-8
my_name = 'zengraoli'
if len(my_name > 0):
print("len is > 0")
elif len(my_name == 0):
print("len is == 0")
else:
print("len is < 0")
循环
while循环
#!/usr/bin/env python
# encoding: utf-8
i = 0
my_name = 'zengraoli'
while i < len(my_name):
print(my_name[i])
i += 1
for循环
#!/usr/bin/env python
# encoding: utf-8
i = 0
my_name = 'zengraoli'
for i in range(len(my_name)):#range的作用是得到一个最大范围,步长为1
print(my_name[i])
*range()目前只能是产生一个范围内的整数数组,不支持float
如果需要用到float步长,则需要使用到numpy模块的arange()
#!/usr/bin/env python
# encoding: utf-8
import numpy as np
for i in np.arange(0, 1, 0.1):
print(i)
异常处理
异常捕获
通用的捕获所以的error(缺点是没有办法知道是哪一个类型的异常)
my_dict = { 'id' : 3 }
try:
print(my_dict['id3'])
except Exception:
print("error") #'id3'
finally:
print("end.")
或者
i = 1
try:
i / 0
except Exception:
print("error") #division by zero
finally:
print("end.")
捕获指定的异常,其他异常也能处理
my_dict = { 'id' : 3 }
try:
print(my_dict['id3'])
except KeyError:
print("KeyError.")
except Exception:
print("error") # division by zero
finally:
print("end.")
通常finally可以做一些“善后”工作,比如关闭文件等
产生异常
rasie可以产生制定的异常,可以抛出系统已知的异常,也可以抛出自定义的异常
#!/usr/bin/env python
# encoding: utf-8
try:
raise AttributeError
except ZeroDivisionError:
print("ZeroDivisionError.")
except KeyError:
print("KeyError.")
except Exception:
print("error") # division by zero
finally:
print("end.")
自定义异常
自定义的异常是自定义的数据类型(class)
基类应该是Exception类或继承自Exception类
#!/usr/bin/env python
# encoding: utf-8
class InvalidEntityError(Exception) : pass
class InvalidNumericEntityError(InvalidEntityError) : pass
try:
raise InvalidNumericEntityError
except InvalidNumericEntityError:
print("InvalidNumericEntityError")
except Exception:
print("error")
finally:
print("end.")
更多推荐
所有评论(0)