python 内建函数isinstance的用法以及与type的区别
2018-07-12 21:48
656 查看
isinstance是Python中的一个内建函数
语法:
isinstance(object, classinfo)
如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。
如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的。
如果classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))
True >>>isinstance(a,dict) 判断对象a是否为字典,如果为真,会打印True,如为假,打印False。
作用:来判断一个对象是否是一个已知的类型。
其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名的一个列表((int,list,float)是一个列表)。其返回值为布尔型(True or flase)。
若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。
举例: >>> isinstance(1, int) True >>> isinstance(1.0, float) True >>> a = 4>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))
True >>>isinstance(a,dict) 判断对象a是否为字典,如果为真,会打印True,如为假,打印False。
type()与isinstance()的区别:
共同点:两者都可以判断对象类型
isinstance() 与 type() 区别:
-
type() 不会认为子类是一种父类类型,不考虑继承关系。
-
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
不同点:对于一个 class 类的子类对象类型判断,type就不行了,而 isinstance 可以。
例如:
class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False
- 综上,推荐使用 isinstance 判断对象类型。
isalpha如果是字母,返回一个非零数;否则返回为0
isalnum如果是字母或数字,返回一个非零数;否则返回为0
isdigit如果是数字(0-9)返回一个非零数;否则返回为0
#!/usr/bin/python # -*- coding: UTF-8 -*- str = "this2009"; # 字符中没有空格 print str.isalnum(); str = "this is string example....wow!!!"; print str.isalnum();
以上实例输出结果如下:
True False
相关文章推荐
- python 内建函数isinstance的用法以及与type的区别
- python 内建函数isinstance的用法以及与type的区别
- Python2.7:测试内部类型及type和isinstance用法区别
- python 函数定义和内置函数isinstance以及数据类型检查type的使用
- python之函数用法isinstance()
- 深入浅析Python获取对象信息的函数type()、isinstance()、dir()
- Python--read()和readline()以及readlines()用法区别
- python数据类型判断type与isinstance的区别实例解析
- 整理:#define和typedefine的区别 以及const修饰指针的用法
- Python import用法以及与from...import的区别
- ceil函数和intval函数以及round函数的区别用法
- ruby gsub gsub! chomp chomp! 以及所有类似函数用法及区别
- Python语言学习讲解八:类型判断type与isinstance的区别
- Oracle translate 函数的用法, 以及和replace的区别
- 多态在成员变量,成员函数以及静态函数中的用法区别
- python数据类型判断type与isinstance的区别
- python中string模块各属性以及函数的用法介绍
- C++之普通成员函数、虚函数以及纯虚函数的区别与用法要点
- Python3中isinstance 和 type 的区别
- Python 中 input()用法 以及与raw_input() 的区别