数据类型
字符串
基础
string
- sequences 类型,故可使用索引;
# 单引号
'This is also a string.'
# 双引号
"This is a string."
# 三引号, 可跨行, 自动添加换行符
"""
Three
double
quotes
"""
引号中使用引号
# 引号嵌套于不同种类的引号;
# 使用转义字符 \\;
'I told my friend, "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
'One of Python\'iter strengths is its diverse and supportive community.'
f-strings
f-strings
- 字符串前加 f;
- 字符串中使用 表示替换变量或表达式;
# 变量
first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
# 表达式
message = f"Hello, {full_name.lower()}!"
转义字符限制
- 大括号内不可使用转义字符;
f-strings 显示
- 连续输入两个大括号,即
{{ 和 }}
;
空白与转义字符
空白
- 空格;
- 制表符;
- 换行符;
常见转义字符
转义字符 | 定义 |
---|---|
\ | 续行符 |
\ | 反斜杠 |
' | 单引号 |
" | 双引号 |
\b | 退格 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\oyy | 八进制 |
\xyy | 十六进制 |
API
- str.strip([chars]) 方法-> str:去除字符串左右,chars 对应字符的任意组合,返回副本;
- str.lstrip([chars]) 方法 ->:去除字符串左,chars 对应字符的任意组合,返回副本;
- str.rstrip([chars]) 方法 ->:去除字符串右,chars 对应字符的任意组合,返回副本;
str.rstrip() 方法
- str.rstrip([chars])
- 去除字符串右,chars 对应字符的任意组合;
- 其余同 str.strip() 方法;
str.removeprefix() 方法
-
str.removeprefix(prefix)
-
如果 str 以 prefix 开头,将 prefix 移除;
-
prefix:前缀字符串;
-
返回值:字符串副本;
str.removesuffix() 方法
-
str.removesuffix(suffix)
-
如果 str 以 suffix 结尾,将 suffix 移除;
-
suffix:后缀字符串;
-
返回值:字符串副本;
字符串形式
str.title() 方法
- str.title();
- 返回 str 标题形式;
- 返回值:副本;
str.upper() 方法
- str.upper();
- 返回 str 大写形式;
- 返回值:副本;
str.lower() 方法
- str.lower();
- 返回 str 小写形式;
- 返回值:副本;
分割/链接字符串
str.split() 方法
- str.split(sep=None,maxsplit=-1);
- 根据指定字符分割字符串;
- sep:分割字符串的字符;
- 当 sep 为默认值时,任意形式和任意数量的空白符号;
- maxsplit (可选):分割次数,默认为 -1,即无限次;
- 返回值:列表;
>>> '1 2 3'.split()
['1', '2', '3']
>>> '1,2,3'.split(',')
['1', '2', '3']
>>> '1,2,3'.split(',', maxsplit=1)
['1', '2,3']
str.join() 方法
- str.join(iterable);
- 将 iterable 通过 str 连接;
- iterable:待连接的可迭代对象;
- str:连接字符;
- 返回值:str;
字符串匹配
str.replace() 方法
- str.replace(old,new[,count]);
- old 字符串替换为 new 字符串;
- old:待替换字符串;
- new:替换字符串;
- count:替换最大个数 (可选);
- 返回值:副本;
str.endswith() 方法
- str.endswith(suffix[,start[,end]]);
- 匹配 str 中 [start,end) 范围内是否以 suffix 结尾;
- suffix:指定后缀;
- start:起始值,默认为 0 (可选);
- end:终止值,默认为 len(str) (可选);
- 返回值;
- True:以 suffix 结尾;
- Fasle:不以 suffix 结尾;
str.startswith() 方法
- str.startswith(suffix[,start[,end]]);
- 匹配 str 中 [start,end) 范围内是否以 suffix 开头;
- 其余同 str.endswith() 方法;
其他
str.count() 方法
-
str.count(sub[,start[,end]]);
- 返回无重叠 sub 子字符串的出现次数;
- sub:子字符串;
- start:搜索范围起始索引,默认为 0 (可选);
- end:搜索范围结束索引,默认为最后一个字符 (可选);
- 返回值:出现次数;
数字
整数和浮点数
整数
- 不带小数点的数字;
其余进制表示
- 二进制:0b;
- 八进制:前缀 0o;
- 十六机制:前缀 0x;
浮点数
- 带小数点的数字
精度损失
# 由于二进制和十进制的转换;
# float 类型具有精度损失;
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004
浮点数与整数混合运算
- 结果为浮点数;
数字中的下划线
机制
# python 忽视数字中的下划线;
# 使数字具有可读性;
>>> universe_age = 14_000_000_000
>>> print(universe_age)
14000000000
API
转换函数
int() 函数
- int(x,base=10);
- 将数字/字符串转换为 int() 类型;
- x:number/string 类型;
- base:int,转换进制,默认为 10 进制,范围 2 - 36;
- 返回值:int 类型;
float() 函数
- float(x);
- 将数字/字符串转换为 float() 类型;
- x:number/string 类型;
- 返回值:float 类型;
数学运算
abs() 函数
- abs(x);
- 返回数字绝对值;
- x:number 类型;
- 返回值:num 类型;
round() 函数
- round(number[,ndigits]);
- 四舍五入;
- number:number;
- ndigits:保留小数位数,默认为 None;
- 返回值:number;
布尔类型和 None
布尔类型
布尔值
- 真值;
- 假值;
- None,False;
- 0,0.0;
- 空字符串/列表/元素/range/集合/字典;
布尔运算
- and;
- or;
- not;
None
None
- 表示空;
可迭代类型
基本概念
可迭代类型
- sequence types;
- list;
- tuple;
- range;
- text sequence types:str;
- set types;
- set;
- frozenset;
- mapping types:dict;
通用 API
len() 函数
- len(iter);
- 求可迭代对象长度;
- iter:可迭代对象;
- 返回值:可迭代对象长度;
min() 函数
- min(iter);
- 求可迭代对象最小值;
- iter:可迭代对象;
- 返回值:可迭代对象最小值;
max() 函数
- max(iter);
- 求可迭代对象最大值;
- iter:可迭代对象;
- 返回值:可迭代对象最大值;
sum() 函数
- max(iter);
- 求可迭代对象总和;
- iter:可迭代对象;
- 返回值:可迭代对象总和;
运算符
算术运算符
运算符 | 含义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 整除 |
% | 取余 |
** | 乘方 |
关系运算符
运算符 | 含义 | 机制 |
---|---|---|
== | 相等 | 若相等返回 True, 反之返回 False |
!= | 不相等 | 若不相等返回 True, 反之返回 False |
> | 大于 | 若大于返回 True, 反之返回 False |
>= | 大于等于 | 若大于等于返回 True, 反之返回 False |
< | 小于 | 若小于返回 True, 反之返回 False |
<= | 小于等于 | 若小于等于返回 True, 反之返回 False |
赋值运算符
运算符 | 含义 |
---|---|
= | 赋值 |
+= | a += b 等效于 a = a + b |
-= | a -= b 等效于 a = a - b |
*= | a *= b 等效于 a = a * b |
/= | a /= b 等效于 a = a / b |
//= | a //= b 等效于 a = a // b |
% = | a %= b 等效于 a = a % b |
**= | a **= b 等效于 a = a ** b |
逻辑运算符
布尔运算符 | 定义 | 机制 |
---|---|---|
and | 与 | 一假即假, 全真才真 |
or | 或 | 一真即真, 全假才假 |
not | 非 | 真假取反 |
短路机制
# x 为假, 直接返回假
x and y
# x 为真, 直接返回真
x or y
not 优先级
- not 优先级很低;
- 最好使用 ();
成员运算符
成员运算符 | 机制 |
---|---|
x in iter | 若 x 为 iter 中的元素, 返回 ture, 否则返回 false |
x not in iter | 若 x 不为 iter 中的元素, 返回 ture, 否则返回 false |
字符串机制
- 判断 x 是否为 iter 的子串;
- 空字符串是所有字符串的子串;
身份运算符
身份运算符 | 意义 |
---|---|
is | 若两者引用同一对象, 返回 true, 反之返回 false |
is not | 若两者不是引用同一对象, 返回 true, 反之返回 false |
优先级
优先级
- 运算符的优先次序;