如何在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读取浮点数和读取文本文件示例
May 06 Python
python threading模块操作多线程介绍
Apr 08 Python
Python中zfill()方法的使用教程
May 20 Python
Python实现豆瓣图片下载的方法
May 25 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
python 数据提取及拆分的实现代码
Aug 26 Python
浅析matlab中imadjust函数
Feb 27 Python
python实现批处理文件
Jul 28 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开发中的中文编码问题
2013/08/08 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
Python实现聊天机器人的示例代码
2018/07/09 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python实现大转盘抽奖效果
2019/01/22 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
工商管理系学生的自我评价分享
2013/11/29 职场文书
实习鉴定评语
2014/01/19 职场文书
通信研究生自荐信
2014/02/01 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
四年级科学教学反思
2014/02/10 职场文书
眼镜促销方案
2014/03/15 职场文书
网络技术专业求职信
2014/05/02 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
HTML基础详解(上)
2021/10/16 HTML / CSS