4、Python中的控制结构

匿名 (未验证) 提交于 2019-12-02 22:56:40

Ŀ¼

跟其他的编程语言是一样的情况

#!/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") 

#!/usr/bin/env python # encoding: utf-8  i = 0 my_name = 'zengraoli' while i < len(my_name):     print(my_name[i])     i += 1 
#!/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.") 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!