目录
[1. 运算符](#1. 运算符)
[2. 字符串](#2. 字符串)
[3. 列表(有序、可修改,用[]表示)](#3. 列表(有序、可修改,用[]表示))
[4 元组(有序、不可修改,用()表示)](#4 元组(有序、不可修改,用()表示))
[5. 集合(无序、无重复,用{}表示)](#5. 集合(无序、无重复,用{}表示))
[6. 字典(无序键值对,用{key:value}表示)](#6. 字典(无序键值对,用{key:value}表示))
[7. 文件操作](#7. 文件操作)
[8. 数据类型的 True/False 对应](#8. 数据类型的 True/False 对应)
1. 运算符
表 1 运算符
| 运算符 | 描述 | |
|---|---|---|
lambda |
lambda表达式 |
|
:= |
条件表达式 | |
or |
布尔逻辑或 | |
and |
布尔逻辑与 | |
not |
布尔逻辑非 | |
比较运算符(==/!=/</>/<=/>=等) |
比较运算,包括成员检测和标识检测 | |
| ` | ` | 按位或 |
^ |
按位异或(XOR) | |
& |
按位与 | |
<</>> |
移位 | |
+/- |
加和减 | |
*/@//////% |
乘、矩阵乘、除、整除、取余 | |
+/-/~ |
一元运算符(正、负、按位非) | |
** |
乘方 | |
await x |
await表达式 |
|
x[index]/x[index:index]/x(arguments...)/x.attribute |
抽取、切片、调用、属性引用 | |
(expressions...)/[expressions...]/{key: value,...} |
绑定或加圆括号的表达式、列表显示、字典显示、集合显示 |
注 :幂运算符**绑定的紧密程度低于其右侧的算术或按位一元运算符,即2 ** -1结果为0.5。
2. 字符串
Python 字符串由单引号、双引号或三引号括起,所有字符串方法返回新值(不修改原字符串)。
表 2 字符串
| 函数 / 方法 | 描述 | 示例 | 返回值 |
|---|---|---|---|
capitalize() |
首字符转大写 | "hello".capitalize() |
"Hello" |
count() |
统计子串出现次数 | "banana".count("an") |
2 |
decode() |
字符串解码 | u="中文"; str=u.encode('gb2312'); print(str.decode('gb2312')) |
中文 |
encode() |
字符串编码 | "你好".encode("UTF-8") |
b"\xe4\xbd\xa0\xe5\xa5\xbd" |
find() |
查找子串位置(找不到返回 - 1) | "banana".find("n") |
2 |
format() |
格式化字符串 | "{0} is {1}".format("john", 35) |
"john is 35" |
index() |
查找子串位置(找不到报错) | "hello".index("e") |
1 |
isalnum() |
判断是否全为字母 / 数字 | "com12".isalnum() |
False |
isalpha() |
判断是否全为字母 | "Com10".isalpha() |
False |
swapcase() |
转换字母大小写 | "hello".swapcase() |
"HELLO" |
upper() |
转大写 | "This".upper() |
"THIS" |
join() |
用间隔符连接序列 | "*".join(["T","2","5"]) |
"T*2*5" |
lower() |
转小写 | "Hello, welcome".lower() |
"hello, welcome" |
replace() |
替换子串 | "banana".replace("a","") |
"bnn" |
split() |
拆分字符串 | "welcome to China".split() |
["welcome", "to", "China"] |
strip() |
去除两端空白 | " apple ".strip() |
"apple" |
title() |
每个单词首字母大写 | "hello world".title() |
"Hello Word" |
| upper() | 把字符串转换为大写 | "hello world".upper() | "HELLO WORLD" |
3. 列表(有序、可修改,用[]表示)
列表是一个有序且可更改的数据集合。在 Python 中列表用方括号表示。
表 3 列表
| 函数 / 方法 | 描述 | 示例 | 返回值 / 效果 |
|---|---|---|---|
append() |
末尾添加元素 | ["apple"].append("cherry") |
列表变为["apple", "cherry"] |
clear() |
清空列表 | ["apple"].clear() |
列表变为[] |
copy() |
复制列表 | ["apple"].copy() |
新列表["apple"] |
count() |
统计元素出现次数 | [1,5,2,1].count(1) |
2 |
extend() |
扩展列表(加可迭代对象) | ["a"].extend(["b"]) |
列表变为["a","b"] |
index() |
查找元素索引 | [3,5,1].index(1) |
2 |
insert() |
指定位置插入元素 | [1,3].insert(2,"one") |
列表变为[1,3,"one"] |
len() |
元素个数 | len([1,2,3]) |
3 |
max() |
最大元素 | max([57,36,145]) |
145 |
min() |
最小元素 | min([57,36,145]) |
36 |
pop() |
移除指定位置元素 | [57,36].pop(1) |
返回36,列表剩[57] |
remove() |
删除指定元素 | [57,36].remove(57) |
列表变为[36] |
reverse() |
颠倒顺序 | [17,2].reverse() |
列表变为[2,17] |
sort() |
排序 | [2,17].sort() |
列表变为[2,17] |
4 元组(有序、不可修改,用()表示)
元组是一个有序且不可更改的数据集合。在 Python 中,元组用圆括号表示。
表 4 元组
| 函数 / 方法 | 描述 | 示例 | 返回值 |
|---|---|---|---|
count() |
统计元素次数 | (1,3,5,1).count(1) |
2 |
index() |
查找元素索引 | (1,3,5).index(5) |
2 |
len() |
元素个数 | len((1,2,3)) |
3 |
max() |
最大元素 | max((57,36,145)) |
145 |
min() |
最小元素 | min((57,36,145)) |
36 |
5. 集合(无序、无重复,用{}表示)
集合中元素是无序的,返回值集合元素顺序不定。
表 5 集合
| 函数 / 方法 | 描述 | 示例 | 返回值 |
|---|---|---|---|
add() |
添加元素 | {3,6,9}.add(5) |
{3,5,6,9} |
clear() |
清空集合 | {3,6,9}.clear() |
{} |
copy() |
复制集合 | {3,6,9}.copy() |
{3,6,9} |
difference() |
集合差集 | {3,6,9}.difference({2,4,6}) |
{3,9} |
intersection() |
集合交集 | {3,6,9}.intersection({2,4,6}) |
{6} |
isdisjoint() |
无交集则返回True |
{3,6,9}.isdisjoint({2,4,6}) |
False |
issubset() |
是否为子集 | {3,6,9}.issubset({2,3,4,6,9}) |
True |
issuperset() |
是否为超集 | {2,3,4,6,9}.issuperset({3,6,9}) |
True |
len() |
元素个数 | len({3,6,9}) |
3 |
min() |
最小元素 | min({3,6,9}) |
3 |
max() |
最大元素 | max({3,6,9}) |
9 |
remove() |
删除元素 | {3,6,9}.remove(3) |
{6,9} |
symmetric_difference() |
对称差集(不重复元素) | {3,6,9}.symmetric_difference({2,4,6}) |
{2,3,4,9} |
union() |
集合并集 | {3,6,9}.union({2,4,6}) |
{2,3,4,6,9} |
update() |
合并序列 / 集合到原集合 | {3,6,9}.update({2,4,6}) |
{2,3,4,6,9} |
6. 字典(无序键值对,用{key:value}表示)
字典中元素是无序的,返回值字典元素顺序不定。
表 6 字典
| 函数 / 方法 | 描述 | 示例 | 返回值 |
|---|---|---|---|
clear() |
清空字典 | {"312":78}.clear() |
{} |
copy() |
复制字典 | {"312":78}.copy() |
{"312":78} |
get() |
获取键对应的值 | {"312":78}.get("312") |
78 |
items() |
返回键值对元组列表 | {"312":78}.items() |
[("312",78)] |
keys() |
返回键列表 | {"312":78}.keys() |
["312"] |
pop() |
删除键并返回值 | {"312":78}.pop("312") |
78,字典剩{} |
update() |
更新字典 | {"312":78}.update({"747":68}) |
{"312":78, "747":68} |
values() |
返回值列表 | {"312":78}.values() |
[78] |
7. 文件操作
对文件的操作用函数或方法实现。
表 7 文件
| 函数 / 方法 | 描述 |
|---|---|
open() |
打开文件 |
close() |
关闭文件 |
flush() |
刷新缓冲区 |
read() |
读取全部内容 |
readline() |
读取一行 |
readlines() |
读取所有行(返回列表) |
seek() |
移动文件指针 |
tell() |
返回当前指针位置 |
write() |
写入字符串 |
writelines() |
写入字符串列表 |
8. 数据类型的 True/False 对应
各种数据对象都可转换成布尔对象。
表 8 True/False 对象
| 数据类型 | True | False |
|---|---|---|
| 整数 | 非 0(如 1) | 0 |
| 浮点数 | 非 0 | 0.0 |
| 复数 | 非 0 | 0j |
| 布尔值 | True |
False |
None |
- | None |
| 字符串 | 非空串 | "" |
| 列表 | 非空列表 | [] |
| 元组 | 非空元组 | () |
| 集合 | 非空集合 | set() |
| 字典 | 非空字典 | {} |
总结
本文系统整理了Python常用数据类型及操作,包含7个核心部分:
1.运算符优先级表(含21种运算符)
2.字符串处理(17个方法,如format()/split())
3.列表操作(13个方法,如append()/sort())
4.元组基础(5个方法)
5.集合运算(15个方法,如union()/intersection())
6.字典操作(9个方法,如get()/update())
7.文件操作(8个函数)及数据类型布尔转换规则。
重点说明了各类数据结构的特性和方法调用规范,其中字符串方法均返回新对象,列表/字典方法多直接修改原对象。