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

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

相关推荐
2401_841495645 小时前
【Python高级编程】Python 核心语法速查演示
python·字符串·集合·列表·元组·字典·运算符
heartbeat..7 小时前
Java NIO 详解(Channel+Buffer+Selector)
java·开发语言·文件·nio
heartbeat..9 小时前
Java IO 流完整解析:原理、分类、使用规范与最佳实践
java·开发语言·io·文件
C雨后彩虹2 天前
ConcurrentHashMap 扩容机制:高并发下的安全扩容实现
java·数据结构·哈希算法·集合·hashmap
C雨后彩虹2 天前
ConcurrentHashMap 源码逐行拆解:put/get 方法的并发安全执行流程
java·算法·哈希算法·集合·hashmap
C雨后彩虹3 天前
ConcurrentHashMap 核心锁机制:CAS+Synchronized 的协同工作原理
java·数据结构·哈希算法·集合·hashmap
C雨后彩虹3 天前
HashMap的线程安全问题:原因分析与解决方案
java·数据结构·哈希算法·集合·hashmap
Irene19913 天前
JavaScript 字符串和数组方法总结(默写版:同9则6 Str21 Arr27)
javascript·字符串·数组·方法总结
課代表4 天前
bat 批处理脚本中的字符串
字符串·脚本·命令行·bat·批处理·字符串截取·延迟变量