如何在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压力测试代码
Feb 08 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python3 requests模块如何模仿浏览器及代理
Jun 15 Python
python中doctest库实例用法
Dec 31 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
PHP 中的类
2006/10/09 PHP
How do I change MySQL timezone?
2008/03/26 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
用js实现trim()的解决办法
2013/04/16 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
python创建进程fork用法
2015/06/04 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python切片操作深入详解
2018/07/27 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Python函数调用追踪实现代码
2020/11/27 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
公司新员工的演讲稿注意事项
2014/01/01 职场文书
高中校园广播稿
2014/01/11 职场文书
仓库主管岗位职责
2014/03/02 职场文书
演讲稿的写法
2014/05/19 职场文书
MySQL约束超详解
2021/09/04 MySQL
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL