数据类型
变量
-
单词之间使用下划线分割 (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 |
布尔类型,True 或 False |
<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 |

浙公网安备 33010602011771号