如何在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共享引用(多个变量引用)示例代码
Dec 04 Python
Python计算回文数的方法
Mar 11 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
Python实现的端口扫描功能示例
Apr 08 Python
Flask框架各种常见装饰器示例
Jul 17 Python
python 检查是否为中文字符串的方法
Dec 28 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
pip安装tensorflow的坑的解决
Apr 19 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 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
域名查询代码公布
2006/10/09 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
jquery延迟对象解析
2016/10/26 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Python学习之asyncore模块用法实例教程
2014/09/29 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
python的中异常处理机制
2018/08/30 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python Gabor滤波器讲解
2020/10/26 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
函授本科毕业自我鉴定
2013/10/09 职场文书
大学自我鉴定范文
2013/12/26 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
建议书范文
2015/02/05 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers