Python学习笔记(五)函数参数类型检查

instance()的用法


语法:

instance(object, classinfo)

其中,object是变量,classinfo是类型(int/float/bool/list/tuple/dict/set)和类(class),如果object是classinfo类的一个实例或是classinfo类的子类的一个实例,则返回Ture,否则返回False。如果classinfo不是一种数据类型或有数据类型构成的元组,将引发一个TypeError异常。
type()也可以判断对象类型,但是不能判断class类的子类对象类型。


例子:函数my_abs()

def my_abs(x):
if not isinstance(x, (int, float)):
    raise TypeError('bad operand type')
if x >=0:
    return x
else:
    return -x


>>>my_abs('a')
Traceback (most recent call last):
File "/Users/lijing/python_test/test.py", line 10, in <module>
p = my_abs('a')
File "/Users/lijing/python_test/test.py", line 4, in my_abs
raise TypeError('bad operand type')
TypeError: bad operand type
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyton review 学习指南 https://www.zhihu.com/question/29138020...
    孙小二wuk阅读 1,064评论 0 2
  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 1,263评论 0 0
  • # 第一优先级规则声明: # 除了梦境,每一个意识主进程都必须与一个身体参与的机械进程相匹配,否则结束意识主进程。...
    李洞BarryLi阅读 3,906评论 0 1
  • 呜……,呜……大姐把我搂在她怀里,时而搭在我身上无声的抽搐,时而又搂紧我嚎啕大哭。姐姐原本柔顺利索的辫子在我的身上...
    玉墨清欢阅读 1,367评论 21 21
  • 橘黄色的粉末,确切的说更像橙色的,只是隔着那透明的白色袋子这么偷偷看一眼,都会不自觉地口水往下咽,更别说打开闻闻了...
    小米的自白阅读 1,011评论 3 3