值和类型
- 值,值是程序操作的对象之一,是数据的基本组成单元,比如一个字母或者数字
- 类型,对值的一种划分,应对不同的业务需求 ```html 例子说明 Python 的数据类型
2020 年某笔记本的数据参数 类型: 超薄本 尺寸: 32522724mm 是否环保: 是
这里笔记本的参数就是 Python 数据类型的展示
> Python **不需要在定义变量时指定类型**,而是根据 「 = 」等号右侧的值,自动推导出变量中存储数据的类型<a name="pgz1W"></a>### 数据类型在 Python 中所有的数据类型都是类,每个数据值都是类的“实例”- Python 把值( 数据 )分成了 8 个不同类型,其中前 6 个是 Python3 的**标准数据类型**,使用内置函数 **type() **检查数据种类- 数值( number ): int「 整型 」、float「 浮点型 」、complex 「 复数 」- 字符串( string ): str- 列表( list ): list- 元组( tuple ): tuple- 集合( set ): set- 字典( dict ): dict- 布尔型( boolean ): True「 真 」、False「 假 」,有些文档中将布尔型归结到数值类型,是整型的子类。- 空值( None )```pythonname = 'tom'id = 1print(type(name)) # type() 函数获取值的数据类型print(type(id))--------------------------------------------------->>> <class 'str'>>>> <class 'int'>
数据种类
Python 把值( 数据 )分成了 2 个不同种类类型,使用内置函数 id() 检查内存地址
变量引用的数据类型,在内存地址不变或不需要开辟新内存地址的时,可以改变数值的行为,此类数据类型叫可变类型,否则是不可变类型
- 可变类型
- 列表
- 字典
- 集合
- 不可变类型
- 数值
- 字符串
- 元组 ```python a = ‘hello’ a = ‘python’ print(id(a)) print(id(a))
140353265282672 140704803815152 ``` 上述代码展示字符串 a 通过 id() 获取内存地址,当修改数值时,字符串 a 内存地址出现变动或开辟了新内存地址,说明字符串是不可变类型
类型转换
在需要转换的数据前加上要转换函数即可
- int() — 转换成整型
- 浮点类型转换为整型 ```python a = 1.5 print(int(a))
1 ``` 浮点转为整型,只取整数部分,不取小数部分,同时也不存在四舍五入
- 字符串转化为整型 ```python a = ‘123’ print(int(a))
123 ``` 字符串中必须全是阿拉伯数字,出现了非数字就会报错,即使是 int(‘5.7’)也会报错
- float() — 转换成浮点数
num1 = 1 print(float(num1)) print(type(float(num1)))字符串转换时中不可以包含非数字字符会报错,空字符串、字母都不可以转换为浮点数
str() — 转换成字符串类型
num2 = 10 print(type(str(num2)))tuple() — 将一个序列列转换成元组
list1 = [10, 20, 30] print(tuple(list1)) print(type(tuple(list1)))list() — 将一个序列转换成列表
t1 = (100, 200, 300) print(list(t1)) print(type(list(t1)))eval() — 将字符串中的数据转换成Python表达式原本类型
str1 = '10' str2 = '[1, 2, 3]' str3 = '(1000, 2000, 3000)' print(type(eval(str1))) print(type(eval(str2))) print(type(eval(str3)))
数字转换
- 二进制转换: bin(),0b 开头
- 八进制转换: oct(),0o 开头
- 十六进制转换: hex(),0x 开头 ```python a = 1234 print(hex(a))
0x4d2 ```
