python的数据类型有:数字(int)、浮点(float)、字符串(str),列表(list)、元组(tuple)、字典(dict)、集合(set)
一般通过以下方法进行判断:
1、isinstance(参数1,参数2)
描述:该函数用来判断一个变量(参数1)是否是已知的变量类型(参数2) 类似于type()
参数1:变量
参数2:可以是直接或间接类名、基本类型或者由它们组成的元组。
返回值: 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#判断变量类型的函数
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)))
|
返回:
2、通过与已知类型的常量进行比较
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#判断变量类型的函数
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)))
|
返回:
补充:
isinstance() 与 type() 区别:
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
以上就是如何在python中判断变量的类型的详细内容,更多关于Python判断变量类型的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/xmnote/p/9334743.html