python type判断_python判断type与isinstance的区别
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。
这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。
验证类型用type函数,非常好用,比如
>>type('foo') == str
True
>>type(2.3) in (int,float)
True
既然有了type()来判断类型,为什么还有isinstance()呢?
一个明显的区别是在判断子类。
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
# @param python数据类型判断type与isinstance的区别
# @author 编程之家 jb51.cc|jb51.cc
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
# End www.jb51.cc
需要注意的是,旧式类跟新式类的type()结果是不一样的。旧式类都是。
# @param python数据类型判断type与isinstance的区别
# @author 编程之家 jb51.cc|jb51.cc
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
# End www.jb51.cc
不存在说isinstance比type更好。只有哪个更适合需求。
python type判断_python判断type与isinstance的区别相关推荐
- python hasattr函数_python学习-type(),isinstance(),dir(),getattr(),setattr(),hasattr()
isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系. isinstance() 会认为子类是一种父类类型,考虑继承关系. 如果要判断两个类型是 ...
- type在python的意思_python中type()是什么意思
python中type()是什么意思 type()是一个内建的获取变量类型的函数. type()函数有两个用法,当只有一个参数的时候,返回对象的类型.当有三个参数的时候返回一个类对象. 语法:type ...
- python telnet 交互_Python判断telnet通不通的实例
这个跟ping那个差不多,ping的那个脚本就是通过这个改了下,大体一致,不过telnet的不需要判断返回的字符串.快一些 这里具体需要telnet的ip是需要自己向定义好的数组中写的 我这里加了一个 ...
- python 创建类_python 用type()创建类
type()可以查看一个类型,也可以查看变量的类型 class Hello1(object): def hello(self, name = 'world'): print('Hello, %s' % ...
- python合法的字符串_Python判断字符串是否为合法标示符操作
这学期在学习编译原理,最近的上机作业就是做一个简单的词法分析器,在做的过程中,突然有个需求就是判断一个字符串是否为合法的标示符,因为我是用python语言做的,做的是Python的词法分析器,于是下面 ...
- python循环体结束标志_python判断循环体结束的方法
python如何判断循环体结束? 相关推荐:<python视频> Python break语句,就像在C语言中,打破了最小封闭for或while循环. break语句用来终止循环语句,即循 ...
- python输出偶数_Python 判断奇数偶数的方法
Python 判断奇数偶数的方法 以下实例用于判断一个数字是否为奇数或偶数: # -*- coding: UTF-8 -*- # Filename : test.py # Python 判断奇数偶数 ...
- python字符串不为空的判断_python判断是否为空字符串的方法
python判断是否为空字符串的方法 发布时间:2020-09-02 11:30:18 来源:亿速云 阅读:95 作者:小新 这篇文章给大家分享的是有关python判断是否为空字符串的方法的内容.小编 ...
- python图像数独_Python判断有效的数独算法示例
本文实例讲述了Python判断有效的数独算法.分享给大家供大家参考,具体如下: 一.题目 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 1. 数字 1-9 在 ...
- python中type用法_Python中type的用法
(TOC)描述python类型的函数有两个用法,当只有一个参数,它将返回对象的类型.当有三个参数,返回一个类对象.语法类型(对象)类型(名称.基地.dict)使用一个参数类型(对象)返回一个对象的类型 ...
最新文章
- js new Date()不带时分秒时,时间变了 问题解决
- Bada学习-Privileged API
- 装逼的翻译,害死多少人,你同意吗?到底什么是非终止状态,终止状态
- LeetCode 680. 验证回文字符串 Ⅱ
- 第十四篇 元类编程(二)
- jira7.3.6添加导出excel的按钮
- linux开启mysql窗口_linux操作系统中如何查看是否开启了MySQL服务呢?
- 中标麒麟V6版本32位以及64位下载地址
- Java中的getBytes()方法详解
- Autorun风暴专杀工具
- 中考英语听说计算机考试成绩查询,中考英语听说考试成绩查询
- openfiler服务器打不开web管理页面
- html5源码 母亲节,母亲节H5:非常有创意的5款母亲节H5案例分享
- 调用Google翻译 语音接口
- 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 scre
- c语言hypot函数,hypot ( )【C语言库函数源代码】
- 第三方理财平台海银财富上市破发,IPO筹划两年募资规模缩水至3千万美元
- 乘法计算机公式,在word中乘法的函数公式计算公式
- 【微信小编】动态地图gif制作
- nginx配置和优化详解
热门文章
- samba配置问题一则及配置详解
- 嵌套查询(2020-3-25 )
- python 消息中间件_如何评价腾讯开源的消息中间件TubeMQ?
- linux使用中的问题 ---(Cannot find a valid baseurl for repo: base)
- mysql 行显示 g_MySQL行(记录)详细操作
- linux第五单元作业,第五单元《微型计算机系统》教案
- 锐界机器人_每72秒就有一辆锐界驶下生产线
- 试验笔记 - 使用7-ZIP压缩来减小APK安装包体积
- Python基础学习九 单元测试
- struts1(一)流程分析