一、数据类型
python的数据类型分别有以下几类
类型 | python3 | python2 | 说明 |
Number(数字) | int(整型)、float(浮点型)、complex(复数) | lfloatong(长整型) | 在python 3里,不区分整型与长整型,统一都叫整型(int) |
布尔 | Tree(真)、False(假) | 用数字0,1分别代表tree,false | |
String(字符串) | " "或' ' | ||
List(列表) | [] | 列表可进行的操作包括索引,切片,加,乘,检查成员 | |
Tuple(元组) | () | 与列表类似,不同之处在于元组的元素不能修改 | |
Set(集合) | {}或set() | 无序的不重复元素序列 | |
Dictionary(字典) | {key : value} | 键值对的形式存储 |
可变类型:整型、字符串、元组
可变类型:列表、字典
可以使用type()获取数据类型
str1 = "lvyq"
str2 = 'IT'
int_num = 12
float_num =1.222
_list = ['one','two']
_set = {"one","two"}
_dict ={"one":"two","three":"four"}
print("type of str1 :{}".format(type(str1)))
print("type of str2 :{}".format(type(str2)))
print("type of int_num :{}".format(type(int_num)))
print("type of float_num :{}".format(type(float_num)))
print("type of _list :{}".format(type(_list)))
print("type of _set :{}".format(type(_set)))
print("type of _set_2 :{}".format(type(_dict)))
运行结果
二、类型转换
数据类型转换分为两种
1.隐式类型转换-自动完成
2.显式类型转换-需要使用类型函数完成
1.隐式类型转换
示例1
int_num = 12
float_num =1.222
sum_num = int_num+float_num
print("type of int_num :{}".format(type(int_num)))
print("type of float_num :{}".format(type(float_num)))
print("type of sum_num :{}, sum_num = {}".format(type(sum_num),sum_num))
运行结果
由结果可以看出,int_num (int类型)与float_num (float类型)相加,得到的sum_num变量的类型为float,这是因为python会将较小的数据类型转换为较大的数据类型,以避免数据丢失
示例2
将int_num变为字符类型
int_num = "12"
float_num =1.222
sum_num = int_num+float_num
print("type of int_num :{}".format(type(int_num)))
print("type of float_num :{}".format(type(float_num)))
print("type of sum_num :{}, sum_num = {}".format(type(sum_num),sum_num))
运行结果
控制台报错,这是python不能进行隐式转换,就需要用到显示转换
2.显式类型转换
python提供了函数用于显示类型转换,常见的有int()、float()、str()、list()、set()、dict()等
1.int()
int_num = int("12") #将字符串转换成整型
float_num =int(1.222) #将浮点型转换成整型
print("type of int_num :{}".format(type(int_num)))
print("type of float_num :{}".format(type(float_num) ))
运行结果
2.str()
int_num = str("12")
float_num =str(1.222)
print("type of int_num :{}".format(type(int_num)))
print("type of float_num :{}".format(type(float_num)))
运行结果
其它的就不一一列举了
最后将之前的代码改造成如下,并运行
int_num = int("12") #字符串转换成整型
float_num = 1.222
sum_num = int_num+float_num
print("type of int_num :{}".format(type(int_num)))
print("type of float_num :{}".format(type(float_num),float_num=float_num))
print("type of sum_num :{}, sum_num = {}".format(type(sum_num),sum_num))
运行结果