导入文件中的自定义函数
用 from abstest import my_abs 来导入my_abs()函数。
注意:abstest是文件名(不含.py扩展名)
如果还没想好怎么写函数代码,可以先放一个pass,让代码能运行起来
数据类型检查
语法:isinstance(object , classinfo)
如果参数object是calssinfo的实例,或者object是classinfo类的子类的一个实例,返回True。如果object不是一个给定类型的对象,则返回结果总是False。
如果classinfo不表示一个类(类型对象),那么它要么是一个类的元组,或者递归地包含这样的(由数据类型构成的)元组。其他的序列类型是不被允许的。
如果classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
isinstance(object , class-or-type-or-tuple)
Python中的异常处理
当程序出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。
Exception(例外)类是常用的异常类,该类包括StandardError(标准错误),StopIteration(停止迭代),GeneratorExit(编辑器退出),Warning等异常类。
-
StandardError
- StandardError类是Python中的错误异常,如果程序上出现逻辑错误,将引发该异常。
- StandardError类是所有内敛异常的基类,放置在默认的命名空间中,因此使用IOError,EOFError,ImportError等类,不需要导入exception模块。
StopIteration类判断循环是否执行到尾部,如果循环到尾部,则抛出该异常。
GeneratorExit类是由Generator函数引发的异常,当调用close()时引发该异常。
Warning类表示程序中的代码引起的警告。
Python中的异常使用继承结构创建,可以在异常处理程序中捕获基类异常,也可以捕获各种子类异常,Python中使用try...except语句捕获异常,异常子句定义在try子句后面。
如何使用try...except?
try...except用于处理问题语句,捕获可能出现的异常。try子句中的代码块放置可能出现异常的语句,except子句中的代码块处理异常。
演示try...except语句捕获IOError异常:
try:
file("hello.txt","r") #如果文件不存在,引发异常
print “读文件”
except IOError:
print “文件不存在” #捕获IO异常
except:
print “程序异常” #其它异常
Python与Java的异常处理模式相似,异常处理语句也可以嵌套,演示如下:
try:
s = "hello"
try:
print s[0] + s[1]
print s[0] - s[1]
except TypeError:
print "字符串不支持减法运算”
except:
print "异常"
如果外层try子句中的代码引发异常,程序将直接跳转到外层try对应的except子句,而内部的try子句将不会被执行。
字符串不支持减法运算
try...finally的使用方法
try...except后还可以添加一个finally子句。无论异常是否发生,finally子句都会被执行。所有的finally子句通常用于关闭因异常而不能释放的系统资源。
try:
f = open("hello.txt","r")
try:
print f.read(5)
except:
print "读文件异常”
finally:
print "释放资源”
f.close()
except IOError:
print "文件不存在”
st=>start:open("hello.txt","r")
op=>operation:f.read(5)
st->op