如何在python中判断变量的类型


Posted in Python onJuly 29, 2020

python的数据类型有:数字(int)、浮点(float)、字符串(str),列表(list)、元组(tuple)、字典(dict)、集合(set)

一般通过以下方法进行判断:

1、isinstance(参数1,参数2)

描述:该函数用来判断一个变量(参数1)是否是已知的变量类型(参数2) 类似于type()

参数1:变量

参数2:可以是直接或间接类名、基本类型或者由它们组成的元组。

返回值: 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False

例子:

#判断变量类型的函数
def typeof(variate):
  type=None
  if isinstance(variate,int):
    type = "int"
  elif isinstance(variate,str):
    type = "str"
  elif isinstance(variate,float):
    type = "float"
  elif isinstance(variate,list):
    type = "list"
  elif isinstance(variate,tuple):
    type = "tuple"
  elif isinstance(variate,dict):
    type = "dict"
  elif isinstance(variate,set):
    type = "set"
  return type
# 返回变量类型
def getType(variate):
  arr = {"int":"整数","float":"浮点","str":"字符串","list":"列表","tuple":"元组","dict":"字典","set":"集合"}
  vartype = typeof(variate)
  if not (vartype in arr):
    return "未知类型"
  return arr[vartype]

#判断变量是否为整数
money=120
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为字符串
money="120"
print("{0}是{1}".format(money,getType(money)))
money=12.3
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为列表
students=['studentA']
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为元组
students=('studentA','studentB')
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为字典
dictory={"key1":"value1","key2":"value2"}
print("{0}是{1}".format(dictory,getType(dictory)))
#判断变量是否为集合
apple={"apple1","apple2"}46 print("{0}是{1}".format(apple,getType(apple)))

返回:

如何在python中判断变量的类型

2、通过与已知类型的常量进行比较

例子:

#判断变量类型的函数
def typeof(variate):
  type1 = ""
  if type(variate) == type(1):
    type1 = "int"
  elif type(variate) == type("str"):
    type1 = "str"
  elif type(variate) == type(12.3):
    type1 = "float"
  elif type(variate) == type([1]):
    type1 = "list"
  elif type(variate) == type(()):
    type1 = "tuple"
  elif type(variate) == type({"key1":"123"}):
    type1 = "dict"
  elif type(variate) == type({"key1"}):
    type1 = "set"
  return type1
# 返回变量类型
def getType(variate):
  arr = {"int":"整数","float":"浮点","str":"字符串","list":"列表","tuple":"元组","dict":"字典","set":"集合"}
  vartype = typeof(variate)
  if not (vartype in arr):
    return "未知类型"
  return arr[vartype]

#判断变量是否为整数
money=120
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为字符串
money="120"
print("{0}是{1}".format(money,getType(money)))
money=12.3
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为列表
students=['studentA']
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为元组
students=('studentA','studentB')
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为字典
dictory={"key1":"value1","key2":"value2"}
print("{0}是{1}".format(dictory,getType(dictory)))
#判断变量是否为集合
apple={"apple1","apple2"}
print("{0}是{1}".format(apple,getType(apple)))

返回:

如何在python中判断变量的类型

补充: 

isinstance() 与 type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

以上就是如何在python中判断变量的类型的详细内容,更多关于Python判断变量类型的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python过滤函数filter()使用自定义函数过滤序列实例
Aug 26 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
Python读大数据txt
Mar 28 Python
python实现堆和索引堆的代码示例
Mar 19 Python
python中join()方法介绍
Oct 11 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
python 自动批量打开网页的示例
Feb 21 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
Python求离散序列导数的示例
Jul 10 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
Python中的With语句的使用及原理
Jul 29 #Python
解决c++调用python中文乱码问题
Jul 29 #Python
Python 实现简单的客户端认证
Jul 29 #Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 #Python
学python爬虫能做什么
Jul 29 #Python
Python 创建TCP服务器的方法
Jul 28 #Python
Python实现画图软件功能方法详解
Jul 28 #Python
You might like
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
js+html制作简单验证码
2017/02/16 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
git进行版本控制心得详谈
2017/12/10 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
个人自我剖析材料
2014/09/30 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
React配置子路由的实现
2021/06/03 Javascript
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
详解flex:1什么意思
2022/07/23 HTML / CSS