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

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

相关推荐
xiaoye-duck2 天前
《算法题讲解指南:优选算法-字符串》--61.最长公共前缀,62.最长回文子串,63.二进制求和,64.字符串相乘
c++·算法·字符串
itman3014 天前
C语言字符串必知:末尾有个隐藏的\0,新手易踩坑
c语言·字符串·内存管理·库函数·指针操作
汉克老师4 天前
GESP2024年12月认证C++三级( 第一部分选择题(9-15))
c++·字符串·位运算·进制·补码·gesp三级·gesp3级
汉克老师5 天前
GESP2024年12月认证C++三级( 第一部分选择题(1-8))
c++·字符串·二进制·八进制·补码·gesp三级·gesp3级
humors2215 天前
[原创]AI工具:读取手机系统文件工具
windows·ios·安卓·鸿蒙·文件·苹果·读取
王老师青少年编程6 天前
csp信奥赛c++之字符数组与字符串的区别
c++·字符串·字符数组·csp·信奥赛
九皇叔叔6 天前
005-SpringSecurity-Demo 配置外部文件映射
java·springboot·文件·springsecurity
Tisfy8 天前
LeetCode 3474.字典序最小的生成字符串:暴力填充
算法·leetcode·字符串·题解
汉克老师9 天前
GESP2025年6月认证C++三级( 第一部分选择题(9-15))
c++·字符串·位运算·gesp三级·gesp3级
Tisfy10 天前
LeetCode 2839.判断通过操作能否让字符串相等 I:if-else(两两判断)
算法·leetcode·字符串·题解