介绍
这篇文章将为大家详细讲解有关python怎么判断变量的类型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
python的数据类型有:数字(int),浮点(浮动),字符串(str),列表(列表),元组(tuple),字典(东西),集合(套)
一般通过以下方法进行判断:
1, isinstance(参数1,参数2)
描述:该函数用来判断一个变量(参数1)是否是已知的变量类型(参数2)类似于式()
参数1:变量
参数2:可以是直接或间接类名,基本类型或者由它们组成的元组。
返回值:如果对象的类型与参数二的类型(classinfo)相同则返回真,否则返回假
例子:
#判断变量类型的函数 def typeof(变量): 类型=没有 如果isinstance(变量,int): 类型=癷nt" str elif isinstance(变量): 类型=皊tr" 浮动elif isinstance(变量): 类型=癴loat" elif isinstance(变量列表): 类型=發ist" 元组elif isinstance(变量): 类型=皌uple" dict elif isinstance(变量): 类型=癲ict" elif isinstance(变量,设置): 类型=皊et" 返回类型 #返回变量类型 def方法(变量): arr={“int":“整数“,“float":“浮点“,“str":“字符串“,“list":“列表“,“tuple":“元组“,“dict":“字典“,“set":“集合“} vartype=typeof(变量) 如果不是(vartype arr): 返回“未知类型”; 返回arr [vartype] #判断变量是否为整数 钱=120 print(“{0}是{1}“.format(钱,方法(钱))) #判断变量是否为字符串 金钱=?20”; print(“{0}是{1}“.format(钱,方法(钱))) 金钱=12.3 print(“{0}是{1}“.format(钱,方法(钱))) #判断变量是否为列的表 学生=[& # 39;studentA& # 39;】 print(“{0}是{1}“.format(学生、方法(学生))) #判断变量是否为元组 学生=(& # 39;studentA& # 39; & # 39; studentB& # 39;) print(“{0}是{1}“.format(学生、方法(学生))) #判断变量是否为字典 dictory={“key1":“value1",“key2":“value2"} print(“{0}是{1}“.format (dictory方法(dictory))) #判断变量是否为集合 苹果={“apple1",“apple2"} print(“{0}是{1}“.format(苹果、方法(苹果)))
返回:
2,通过与已知类型的常量进行比较
例子:
#判断变量类型的函数 def typeof(变量): 类型1=?“ 如果类型(变量)==类型(1): 类型1=癷nt" elif类型(变量)==类型(“str"): 类型1=皊tr" elif类型(变量)==类型(12.3): 类型1=癴loat" elif类型(变量)==类型([1]): 类型1=發ist" elif类型(变量)==(()): 类型1=皌uple" elif类型(变量)==类型({“key1":“123“}): 类型1=癲ict" elif类型(变量)==类型({“key1"}): 类型1=皊et" 返回类型1 #返回变量类型 def方法(变量): arr={“int":“整数“,“float":“浮点“,“str":“字符串“,“list":“列表“,“tuple":“元组“,“dict":“字典“,“set":“集合“} vartype=typeof(变量) 如果不是(vartype arr): 返回“未知类型”; 返回arr [vartype] #判断变量是否为整数 钱=120 print(“{0}是{1}“.format(钱,方法(钱))) #判断变量是否为字符串 金钱=?20”; print(“{0}是{1}“.format(钱,方法(钱))) 金钱=12.3 print(“{0}是{1}“.format(钱,方法(钱))) #判断变量是否为列的表 学生=[& # 39;studentA& # 39;】 print(“{0}是{1}“.format(学生、方法(学生))) #判断变量是否为元组 学生=(& # 39;studentA& # 39; & # 39; studentB& # 39;) print(“{0}是{1}“.format(学生、方法(学生))) #判断变量是否为字典 dictory={“key1":“value1",“key2":“value2"} print(“{0}是{1}“.format (dictory方法(dictory))) #判断变量是否为集合 苹果={“apple1",“apple2"} print(“{0}是{1}“.format(苹果、方法(苹果)))
返回:
补充:
isinstance()与()区型别:
类型()不会认为子类是一种父类类型,不考虑继承关系。
isinstance()会认为子类是一种父类类型,考虑继承关系。