Python中请使用isinstance()判断变量类型,pythonisinstance
Python中请使用isinstance()判断变量类型,pythonisinstance
一、isinstance()
在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便。
复制代码 代码如下:
# coding=utf-8
a = 10
def b():
pass
print isinstance(a,(int,str))
print isinstance(a,(float,str))
print isinstance(b,(str,int))
class c:
pass
obj = c()
print isinstance(obj,(c,int))
执行结果:
复制代码 代码如下:
True
False
False
True
二、isinstance 和 type的区别
isinstance 和 type的区别在于:
复制代码 代码如下:
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
区别就是 对于subclass之类的 type就不行了,所以,强烈建议不要使用type判断对象类型。
isinstance似乎不是这么用的。 我通常的做法是用type
x=int(5)
if type(x)==int: print " x is interger. "
else: print "false."
isinstance可以用来判断一个变量是否属于一个类。 在python里应该是正确的。
if type(x)==list:pass
if type(x)==dict:pass
isinstance用得少。只有在用某些面向对象的生产模式的时候才会用到。通常是判断类的继承关系。
>>> class a:
... v1=1
...
>>> class b:
... v2=2
...
>>> class c(a):
... v1=3
...
>>> x=c()
>>> isinstance(x,a)
True
>>> isinstance(x,c)
True
>>> isinstance(x,b)
False
>>>
相关内容
- Python实现的一个自动售饮料程序代码分享,python程序代
- Python对小数进行除法运算的正确方法示例,python除法
- Python socket.error: [Errno 98] Address already in use的原因和解决
- Python中的startswith和endswith函数使用实例,startswithendsw
- Python写的创建文件夹自定义函数mkdir(),
- python的类变量和成员变量用法实例教程,python实例教程
- Python实现根据指定端口探测服务器/模块部署的方法,
- python实现从字符串中找出字符1的位置以及个数的方法,
- python3编写C/S网络程序实例教程,python3实例教程
- python常用web框架简单性能测试结果分享(包含django、fl
评论关闭