【Python高级编程】Python中常见的运算符、函数与方法总结

目录

[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个函数)及数据类型布尔转换规则。

重点说明了各类数据结构的特性和方法调用规范,其中字符串方法均返回新对象,列表/字典方法多直接修改原对象。

相关推荐
张彦峰ZYF1 天前
QLExpress 字符串能力解析:机制、用法与工程实践
字符串·express·qlexpress规则表达力
SunkingYang3 天前
QT中QStringList如何查找指定字符串,有哪些方式?
qt·字符串·查找·子串·qstringlist
Java后端的Ai之路4 天前
【Python教程02】-列表和元组
服务器·数据库·python·列表·元组
闻缺陷则喜何志丹7 天前
【回文 字符串】3677 统计二进制回文数字的数目|2223
c++·算法·字符串·力扣·回文
故事不长丨8 天前
玩转C#List集合:从基础操作到深度对比
c#·list·linq·集合
故事不长丨8 天前
Java List集合深度解析:从基础用法到实战技巧
java·链表·list·集合
Tisfy8 天前
LeetCode 0712.两个字符串的最小ASCII删除和:反向思维保留最大(动态规划)
算法·leetcode·动态规划·字符串·dp·子序列
故事不长丨11 天前
C#字典(Dictionary)全面解析:从基础用法到实战优化
开发语言·c#·wpf·哈希算法·字典·dictionary·键值对
故事不长丨12 天前
C#集合:解锁高效数据管理的秘密武器
开发语言·windows·c#·wpf·集合·winfrom·字典
埃伊蟹黄面15 天前
磁盘级文件系统核心原理解析
linux·文件