值和类型

  • ,值是程序操作的对象之一,是数据的基本组成单元,比如一个字母或者数字
  • 类型,对值的一种划分,应对不同的业务需求 ```html 例子说明 Python 的数据类型

2020 年某笔记本的数据参数 类型: 超薄本 尺寸: 32522724mm 是否环保: 是

这里笔记本的参数就是 Python 数据类型的展示

  1. > Python **不需要在定义变量时指定类型**,而是根据 = 」等号右侧的值,自动推导出变量中存储数据的类型
  2. <a name="pgz1W"></a>
  3. ### 数据类型
  4. Python 中所有的数据类型都是类,每个数据值都是类的“实例”
  5. - Python 把值( 数据 )分成了 8 个不同类型,其中前 6 个是 Python3 的**标准数据类型**,使用内置函数 **type() **检查数据种类
  6. - 数值( number ): int 整型 」、float 浮点型 」、complex 复数
  7. - 字符串( string ): str
  8. - 列表( list ): list
  9. - 元组( tuple ): tuple
  10. - 集合( set ): set
  11. - 字典( dict ): dict
  12. - 布尔型( boolean ): True 」、False 」,有些文档中将布尔型归结到数值类型,是整型的子类。
  13. - 空值( None )
  14. ```python
  15. name = 'tom'
  16. id = 1
  17. print(type(name)) # type() 函数获取值的数据类型
  18. print(type(id))
  19. ---------------------------------------------------
  20. >>> <class 'str'>
  21. >>> <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 ```