Python语法记不住?每次都要Google基础用法?想快速查找某个功能的写法?学习Python却没有系统的参考资料?
今天要介绍的 Python Cheatsheet,是GitHub上拥有 3.8万+ Star 的Python速查表。系统覆盖Python全部核心语法,简洁的代码示例,一页式快速查找,从入门到进阶的完整参考!
什么是Python Cheatsheet?
Python Cheatsheet 是一个全面的Python语法速查表,涵盖从基础语法到高级特性的所有知识点,每个概念都配有简洁的代码示例。
核心优势:
项目地址: https://github.com/gto76/python-cheatsheet
在线查看: https://gto76.github.io/python-cheatsheet/
内容概览
1. 基础语法
数据类型:
# 数字
int, float, complex
42, 3.14, 1+2j
# 字符串
'hello', "world", '''multi
line'''
# 布尔值
True, False
# None
None
变量赋值:
# 基本赋值
x = 5
# 多重赋值
a, b, c = 1, 2, 3
# 链式赋值
x = y = z = 0
# 交换变量
a, b = b, a
2. 数据结构
列表(List):
| | |
|---|
| 创建 | [...] | [1, 2, 3] |
| 添加 | .append() | lst.append(4) |
| 插入 | .insert(i, x) | lst.insert(0, 0) |
| 删除 | .remove(x) | lst.remove(2) |
| 切片 | [start:end] | lst[1:3] |
| 排序 | .sort() | lst.sort() |
字典(Dict):
# 创建
d = {'a': 1, 'b': 2}
d = dict(a=1, b=2)
# 访问
d['a'] # 1
d.get('c', 0) # 0(默认值)
# 添加/修改
d['c'] = 3
# 删除
del d['a']
d.pop('b')
# 遍历
for key, value in d.items():
print(key, value)
3. 控制流
条件语句:
# if-elif-else
if x > 0:
print('positive')
elif x < 0:
print('negative')
else:
print('zero')
# 三元表达式
result = 'even'if x % 2 == 0else'odd'
循环:
# for循环
for i in range(5):
print(i)
for item in [1, 2, 3]:
print(item)
# while循环
while x > 0:
x -= 1
# 循环控制
break# 跳出循环
continue# 跳过本次
else: # 循环正常结束时执行
4. 函数
定义和调用:
# 基本函数
defgreet(name):
returnf'Hello, {name}'
# 默认参数
defgreet(name='World'):
returnf'Hello, {name}'
# 可变参数
defsum_all(*args):
return sum(args)
# 关键字参数
definfo(**kwargs):
for key, value in kwargs.items():
print(f'{key}: {value}')
# Lambda函数
square = lambda x: x ** 2
5. 列表推导式
基本用法:
# 列表推导式
squares = [x**2for x in range(10)]
# 带条件
evens = [x for x in range(10) if x % 2 == 0]
# 嵌套
matrix = [[i*j for j in range(3)] for i in range(3)]
# 字典推导式
{x: x**2for x in range(5)}
# 集合推导式
{x for x in [1, 1, 2, 2, 3]}
6. 面向对象
类和对象:
# 定义类
classPerson:
def__init__(self, name, age):
self.name = name
self.age = age
defgreet(self):
returnf'Hi, I am {self.name}'
@property
definfo(self):
returnf'{self.name}, {self.age}'
# 继承
classStudent(Person):
def__init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
# 使用
p = Person('Alice', 25)
print(p.greet())
7. 异常处理
try-except:
# 基本异常处理
try:
result = 10 / 0
except ZeroDivisionError:
print('Cannot divide by zero')
# 多个异常
try:
# code
except (ValueError, TypeError) as e:
print(f'Error: {e}')
# finally
try:
f = open('file.txt')
except FileNotFoundError:
print('File not found')
finally:
f.close()
# 抛出异常
raise ValueError('Invalid value')
8. 文件操作
读写文件:
# 读取文件
with open('file.txt', 'r') as f:
content = f.read()
# 或逐行读取
for line in f:
print(line)
# 写入文件
with open('file.txt', 'w') as f:
f.write('Hello\n')
f.writelines(['Line 1\n', 'Line 2\n'])
# 追加
with open('file.txt', 'a') as f:
f.write('Appended\n')
高级特性
1. 装饰器
函数装饰器:
# 定义装饰器
deftimer(func):
defwrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f'Time: {time.time() - start}')
return result
return wrapper
# 使用
@timer
defslow_function():
time.sleep(1)
2. 生成器
yield关键字:
# 生成器函数
deffibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
# 使用
for num in fibonacci(10):
print(num)
# 生成器表达式
squares = (x**2for x in range(10))
3. 上下文管理器
with语句:
# 自定义上下文管理器
classFileManager:
def__init__(self, filename):
self.filename = filename
def__enter__(self):
self.file = open(self.filename, 'r')
return self.file
def__exit__(self, exc_type, exc_val, exc_tb):
self.file.close()
# 使用
with FileManager('file.txt') as f:
content = f.read()
4. 迭代器
iter和next:
# 自定义迭代器
classCounter:
def__init__(self, max):
self.max = max
self.n = 0
def__iter__(self):
return self
def__next__(self):
if self.n < self.max:
self.n += 1
return self.n
raise StopIteration
# 使用
for i in Counter(5):
print(i)
实用模块速查
1. 常用内置模块
| | |
|---|
| os | | os.listdir() |
| sys | | sys.argv |
| datetime | | datetime.now() |
| json | | json.loads() |
| re | | re.match() |
| pathlib | | Path('file.txt') |
2. 字符串处理
常用方法:
s = 'Hello World'
# 大小写
s.upper() # 'HELLO WORLD'
s.lower() # 'hello world'
s.title() # 'Hello World'
# 查找替换
s.find('World') # 6
s.replace('World', 'Python')
# 分割合并
s.split() # ['Hello', 'World']
'-'.join(['a', 'b']) # 'a-b'
# 去除空格
s.strip() # 去除两端
s.lstrip() # 去除左侧
s.rstrip() # 去除右侧
3. 日期时间
datetime模块:
from datetime import datetime, timedelta
# 当前时间
now = datetime.now()
# 格式化
now.strftime('%Y-%m-%d %H:%M:%S')
# 解析
dt = datetime.strptime('2024-01-01', '%Y-%m-%d')
# 时间运算
tomorrow = now + timedelta(days=1)
last_week = now - timedelta(weeks=1)
总结
Python Cheatsheet 作为全面的Python速查表,具有:
适合人群:
立即使用:
在线查看:https://gto76.github.io/python-cheatsheet/
收藏书签,随时查阅!
或克隆到本地:
git clone https://github.com/gto76/python-cheatsheet.git
无论你是Python初学者、开发者,还是数据分析师,这个Cheatsheet都是你不可或缺的参考资料。告别零散的笔记和繁琐的文档查找,拥抱系统化的速查表——让Python学习和开发更高效!
项目地址: https://github.com/gto76/python-cheatsheet
在线查看: https://gto76.github.io/python-cheatsheet/