数据类型

变量

  • 单词之间使用下划线分割 (PEP8 规范)

  • 使用 id(变量) 查看变量的内存地址,修改变量值前后内存地址一样就是可变类型,反之就是不可变类型

  • 声明变量类型可以省略也可以指定

    # 不指定类型,python 自动判断该变量是什么类型
    name = "张三"
    
    # 不区分单双引号
    addr: str = '四川成都'
    
    # 指定变量类型
    age: int = 18
    

数据类型

九种类型

类型 描述 type() 返回值 使用 isinstance() 判断
int 整数类型,如 1, 2, -3 <class 'int'> isinstance(10, int)
float 浮点数类型,如 3.14, -0.001 <class 'float'> isinstance(3.14, float)
bool 布尔类型,TrueFalse <class 'bool'> isinstance(True, bool)
NoneType 空类型,表示 None <class 'NoneType'> isinstance(None, type(None))
str 字符串类型,如 "hello" <class 'str'> isinstance("hello", str)
list 列表类型,如 [1, 2, 3] <class 'list'> isinstance([1, 2, 3], list)
tuple 元组类型,如 (1, 2, 3) <class 'tuple'> isinstance((1, 2, 3), tuple)
set 集合类型,如 {1, 2, 3} <class 'set'> isinstance({1, 2, 3}, set)
dict 字典类型,如 {"key": "value"} <class 'dict'> isinstance({"key": "value"}, dict)

数值:int、float

表示整数和小数,小数精度丢失时可以使用 decimal,但 decimal 不是一种基本的数据类型

布尔:bool

只有 True 和 False 两个值
和 js 一样 python 会发生隐式自动转换,比如 1 就是 True,0 就是 False

空:NoneType

只有一个值 None,表示空的

序列:str、list、tuple

有顺序,可以根据下标操作元素
tulpe 只能根据下标获取元素,不能修改( list 和 tulpe 的区别)

集合:set

和 list 的区别是 set 无序(也就不能根据下标操作元素了)

字典:dict

键值对,java 中的 map

类型转化

常见的转化函数,注意布尔值会隐式转换,其他类型不会

函数 描述 示例
int() 将其他类型转换为整数 int(3.14) → 3, int('10') → 10
float() 将其他类型转换为浮点数 float(3) → 3.0, float('3.14') → 3.14
str() 将其他类型转换为字符串 str(10) → '10', str(3.14) → '3.14'
bool() 将其他类型转换为布尔值 bool(0) → False, bool(1) → True
list() 将其他类型转换为列表 list('hello') → ['h', 'e', 'l', 'l', 'o']
tuple() 将其他类型转换为元组 tuple([1, 2, 3]) → (1, 2, 3)
set() 将其他类型转换为集合 set([1, 2, 2, 3]) → {1, 2, 3}
dict() 将其他类型转换为字典 dict([('a', 1), ('b', 2)]) → {'a': 1, 'b': 2}
chr() 将整数转换为对应的 Unicode 字符 chr(65) → 'A'
ord() 将字符转换为对应的 Unicode 码点 ord('A') → 65
hex() 将整数转换为十六进制字符串 hex(255) → '0xff'
oct() 将整数转换为八进制字符串 oct(8) → '0o10'
bin() 将整数转换为二进制字符串 bin(10) → '0b1010'
complex() 创建复数 complex(3, 4) → 3+4j
posted @ 2025-03-08 20:22  CyrusHuang  阅读(73)  评论(0)    收藏  举报