如何在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之wxPython应用实例
Sep 28 Python
改进Django中的表单的简单方法
Jul 17 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
python实现稀疏矩阵示例代码
Jun 09 Python
python与C互相调用的方法详解
Jul 14 Python
opencv python 2D直方图的示例代码
Jul 20 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
pytorch sampler对数据进行采样的实现
Dec 31 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
python制作微博图片爬取工具
Jan 16 Python
opencv 分类白天与夜景视频的方法
Jun 05 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 auth_http类库进行身份效验
2009/03/19 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
Javascript 对象的解释
2008/11/24 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Python的Django框架中if标签的相关使用
2015/07/15 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
简单了解Django模板的使用
2017/12/20 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
中英文自我评价语句
2013/12/20 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL