最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python数据类型判断type与isinstance的区别

来源:动视网 责编:小采 时间:2020-11-27 14:28:13
文档

python数据类型判断type与isinstance的区别

python数据类型判断type与isinstance的区别:在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端参数错误错误码。这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。验证类型用type函数,非常好用,比如>>type(&
推荐度:
导读python数据类型判断type与isinstance的区别:在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端参数错误错误码。这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。验证类型用type函数,非常好用,比如>>type(&

在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。

这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。

验证类型用type函数,非常好用,比如

>>type('foo') == str

True

>>type(2.3) in (int,float)

True

既然有了type()来判断类型,为什么还有isinstance()呢?

一个明显的区别是在判断子类。

type()不会认为子类是一种父类类型。

isinstance()会认为子类是一种父类类型。

千言不如一码。

class Foo(object):
 pass
 
class Bar(Foo):
 pass
 
print type(Foo()) == Foo
print type(Bar()) == Foo
print isinstance(Bar(),Foo)
 
class Foo(object):
 pass
 
class Bar(Foo):
 pass
 
print type(Foo()) == Foo
print type(Bar()) == Foo
print isinstance(Bar(),Foo)
输出 True False True

需要注意的是,旧式类跟新式类的type()结果是不一样的。旧式类都是

class A:
 pass
 
class B:
 pass
 
class C(object):
 pass
 
print 'old style class',type(A())
print 'old style class',type(B())
print 'new style class',type(C())
print type(A()) == type(B())
 
class A:
 pass
 
class B:
 pass
 
class C(object):
 pass
 
print 'old style class',type(A())
print 'old style class',type(B())
print 'new style class',type(C())
print type(A()) == type(B())
输出 old style class old style class new style class True

不存在说isinstance比type更好。只有哪个更适合需求。

文档

python数据类型判断type与isinstance的区别

python数据类型判断type与isinstance的区别:在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端参数错误错误码。这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。验证类型用type函数,非常好用,比如>>type(&
推荐度:
标签: 数据 判断 类型
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top