Python变量所指向的存储空间存放的数据类型是可以变动的,所以在程序运行中,可能因为类型转换出现中断。这时候,我们就需要对其进行检查,并及时采用对应的处理措施。Python中可以用type()函数进行类型检查,判断当前变量对应的数据类型。使用方法是之间将变量名作为参数,传入type()函数即可。num = 1 # 创建整数type(num) # 检查数据类型# 输出:<class 'int'>
flt = 1.2 # 创建浮点数type(flt) # 检查数据类型# 输出:<class 'float'>
str1 = 'Hello' # 创建字符串type(str1) # 检查数据类型# 输出:<class 'str'>
cplx = 1+2j # 创建复数type(cplx) # 检查数据类型# 输出:<class 'complex'>
lst = [1,2,3] # 创建列表type(lst) # 检查数据类型# 输出:<class 'list'>
tpl = (1,2,3) # 创建元组 type(tpl) # 检查数据类型# 输出:<class 'tuple'>
dct = {'name':'Rose','age':18} # 创建字典type(dct) # 检查数据类型# 输出:<class 'dict'>
sets = {'Rose',18} # 创建集合type(sets) # 检查数据类型# 输出:<class 'set'>
上面是对Python自带的数据类型所做的检查,在实际开发中还有很多其它类型,如DataFrame、ndarray等,它们都是专有数据类型,在Pandas、Numpy包中定义。如果我们检查的数据类型,不符合接下来的程序运行。即在发现类型错误后,需要对数据进行类型转换,或者改变运算方法,保证程序的正常运行。Python中可以自动完成某些类型的隐式转换,如整型和浮点型的转换,如下:n = 10f = 2.1print(n + f)# 输出12.1
上述代码中,n是一个整型,f是一个浮点型,但n+f输出时,直接返回了浮点型。这里python将n自动转换为浮点型后和f计算,所以看不到类型转换的过程,或者说不需要主动转换。除了上述这种隐式转换,小编还没发现还有那种,如有小伙伴发现了,可以给小编一些建议,感谢支持。Python中,提供了多种函数,用于强制类型转换。如下:int(1.23)# 输出1float(1)# 输出1.0str(1.23)# 输出"1.23"
无论如何,类型检查和类型转换在程序开发中是一个必须过去的坎,不然在代码堆积后,将是无尽的debug过程。-------------------------它是数字世界里的一把杀猪刀
却总能巧夺天工
它的世界是纯粹0、1组合
却总能创造无尽幻想
......
本公众号关注数据价值分析、编程学习,将不定期更新社会热点数据分析结果、编程技巧,分享数据分析工具、方法、学习等内容,欢迎有兴趣的小伙伴加入。