如何在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 相关文章推荐
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
python实现获取Ip归属地等信息
Aug 27 Python
独特的python循环语句
Nov 20 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
python django框架中使用FastDFS分布式文件系统的安装方法
Jun 10 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
Python中threading库实现线程锁与释放锁
May 17 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
php读取msn上的用户信息类
2008/12/05 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
强制设为首页代码
2006/06/19 Javascript
jquery select操作的日期联动实现代码
2009/12/06 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
js DOM的学习笔记
2011/12/22 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
JS轮播图的实现方法
2020/08/24 Javascript
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
Python模块搜索路径代码详解
2018/01/29 Python
python判断设备是否联网的方法
2018/06/29 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
python创建n行m列数组示例
2019/12/02 Python
Python远程linux执行命令实现
2020/11/11 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
电大毕业生自我鉴定
2013/11/10 职场文书
迎国庆演讲稿
2014/09/05 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
文艺演出主持词
2015/07/01 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书