如何在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中http请求方法库汇总
Jan 06 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
谈谈python中GUI的选择
Mar 01 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
在notepad++中实现直接运行python代码
Dec 18 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 Python
Python  word实现读取及导出代码解析
Jul 09 Python
Python SQLAlchemy库的使用方法
Oct 13 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 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为SHOPEX增加日志功能代码
2010/07/02 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
在视频前插入广告
2006/11/20 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
Python Mysql自动备份脚本
2008/07/14 Python
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
Python内存读写操作示例
2018/07/18 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
python自定义时钟类、定时任务类
2021/02/22 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
DELPHI面试题研发笔试试卷
2015/11/08 面试题
会计自我鉴定
2014/02/04 职场文书
《我不是最弱小的》教学反思
2014/02/23 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
2014年政工师工作总结
2014/12/18 职场文书
员工升职自荐信
2015/03/27 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书