跳到主要内容

数据类型

字符串

基础

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

优先级

优先级
  • 运算符的优先次序;

优先级和结合性