Python 包含以下几种基本类型:
- 布尔
- 数字
- 字符串
- 列表(List)
- 元组(Tuple)
- 集合(Set)
- 字典(Dict)
布尔(Boolean)
数字(Int/Float)
数字类型分类:
- 整数(int)
- 浮点数(float)
注:
- 在其他语言中,浮点数分为单精度(float)和双精度 (double)类型,但在 python 中,只有浮点数(即 float)类型。
- 在其他语言中,整数分为整数(int)和长整数(long)。
可以通过函数 type()
来判断当前为哪种类型的数字,例如:
1 | type(1) |
注:单斜杠自动转化,双斜杠为整除,只保留整数部分。
字符串(String)
1 | type('1') |
“”“
或 '''
三引号可用于显示多行字符串,例如:
1 | """ |
转义字符
- 无法”看见“的字符:
\n(换行)
、\t
、\r(回车)
- 与语法本身有冲突的字符:
\'
问:如何输出(print)字符串中的 \n
,而非被转义?
答:
方法一:print("hello\\nworld\\nworld")
方法二:print(r"hello\nworld\\nworld")
注:r
表示后面的字符串为原始字符串,而非普通字符串
字符串运算
加号: 实现拼接
1 | 'hello'+' world' |
乘号: 重复次数
1 | 'hello'*3 |
数组下标:
- 访问某个字符,下标从 0 开始。若下标为负数,则从右起(-1 起)
1 | 'hello'[0] |
- 访问多个字符,末尾数字为结尾位置的下一位,负数不再代表下标,而代表步长(末尾往回数的第几个字符)
1 | 'hello world'[0:5] |
列表(List)
列表中元素的类型可为多种,而非必须单一类型:字符串、数字、列表等。例如
1 | [1,2,3,4,5,6] |
基本操作
举个栗子:['红','蓝','绿','黑']
- 访问/截取元素: 下标
1 | ['红','蓝','绿','黑'][3] |
- 添加元素: 加号/乘号
1 | ['红','蓝']+['绿','黑'] |
元组(Tuple)
元组
1 | (1,2,3,4,5) |
注:元组与列表的区别
- 访问/截取元素:下标(同列表)
1 | (1,2,3,4)[0] |
以上,字符串、列表和元组均称为序列。序列具有一些通用操作:
- 每个元素都被分配一个序号,可通过下标访问元素
- 切片:[start_pos: end_pos: step]
- 可加和
- 判断元素是否(不)存在序列中:not in
- 判断序列长度:len()
- 其他函数:max(),min(),ord() 等
集合(Set)
集合最重要的特性:
- 无序
- 不重复
- 与序列相同的方法:len(),in,not in 等
- 特殊方法:-(差集),&(交集),|(并集)
同时,不具有序列的部分特性:
- 通过下标
- 切片
- …
1 | type({1,2,3,4,5,6}) |
字典(Dict)
字典不是序列,属于一种集合,字典和集合的均用 {} 定义,用逗号分隔。
字典与集合的最大区别在于定义方式不同,集合只有 value 没有 key,而字典是通过 {key:value} 的形式来定义的。
1 | type({1:1,2:2,3:3}) |
注:value 可以为 python 中任意的类型,key 必须为不可变类型
相关操作:
- {key: value}[key],通过 key 访问 value