数据类型
介绍Python中的不同数据类型,包括整数、浮点数、字符串和布尔值。
int_num = 42 # 整数
float_num = 3.14 # 浮点数
string_var = "Hello, Python!" # 字符串
bool_var = True # 布尔值
变量和赋值
展示如何在Python中声明变量并给它们赋值。
x = 10 # 变量赋值
y = "Python"
列表 & 元组
解释了列表和元组的创建,它们是Python中用于存储序列的两种主要数据结构。
my_list = [1, 2, 3, "Python"] # 列表
my_tuple = (1, 2, 3, "Tuple") # 元组
字典
字典是Python中用于存储键值对的另一种数据结构。
my_dict = {'name': 'John', 'age': 25, 'city': 'Pythonville'} # 字典
控制流程
控制流程语句,如if-elif-else和for循环,用于控制程序的执行流程。
if x > 0:
print("Positive")
elif x == 0:
print("Zero")
else:
print("Negative")
for item in my_list:
print(item)
while condition:
# code
函数
函数定义和调用的示例,展示了如何创建一个简单的函数。
def greet(name="User"):
return f"Hello, {name}!"
result = greet("John")
类 & 对象
类和对象的使用,演示了如何定义一个类并创建类的实例。
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print("Woof!")
my_dog = Dog("Buddy")
my_dog.bark()
文件处理
文件操作的基本示例,包括读取和写入文件。
with open("file.txt", "r") as file:
content = file.read()
with open("new_file.txt", "w") as new_file:
new_file.write("Hello, Python!")
异常处理
异常处理的用法,展示了如何用try-except语句来处理可能的错误。
try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")
finally:
print("Execution completed.")
库 & 模块
展示如何导入和使用Python的内置库和模块。
import math
from datetime import datetime
result = math.sqrt(25)
current_time = datetime.now()
列表推导式
列表推导式的使用,提供了一种简洁的方法来创建列表。
squares = [x**2 for x in range(5)] # 列表推导式
Lambda 函数
Lambda函数的用法,展示了如何创建匿名函数。
add = lambda x, y: x + y
result = add(2, 3)
虚拟环境
虚拟环境的创建和使用,用于隔离项目依赖。
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境
source myenv/bin/activate # 在Unix或MacOS
myenv\Scripts\activate # 在Windows
# 停用虚拟环境
deactivate
包管理
包管理工具pip的使用,用于安装和管理Python包。
# 安装包
pip install package_name
# 列出已安装的包
pip list
# 创建requirements.txt
pip freeze > requirements.txt
# 从requirements.txt安装包
pip install -r requirements.txt
与JSON的交互
JSON数据格式的转换,展示了如何将Python对象转换为JSON格式,以及反向操作。
import json
# 将Python对象转换为JSON
json_data = json.dumps({"name": "John", "age": 25})
# 将JSON转换为Python对象
python_obj = json.loads(json_data)
正则表达式
正则表达式的使用,用于字符串的搜索和操作。
import re
pattern = r'\d+' # 匹配一个或多个数字
result = re.findall(pattern, "There are 42 apples and 123 oranges.")
与日期的交互
日期和时间的处理,展示了如何获取当前日期和计算未来日期。
from datetime import datetime, timedelta
current_date = datetime.now()
future_date = current_date + timedelta(days=7)
列表操作
列表的操作,包括过滤、映射和归约。
numbers = [1, 2, 3, 4, 5]
# 过滤
evens = list(filter(lambda x: x % 2 == 0, numbers))
# 映射
squared = list(map(lambda x: x**2, numbers))
# 归约 (需要functools)
from functools import reduce
product = reduce(lambda x, y: x * y, numbers)
字典操作
字典的操作,包括获取值和字典推导式。
my_dict = {'a': 1, 'b': 2, 'c': 3}
# 获取值
value = my_dict.get('d', 0)
# 字典推导式
squared_dict = {key: value**2 for key, value in my_dict.items()}
线程并发
线程的使用,展示了如何在Python中创建和管理线程。
import threading
def print_numbers():
for i in range(5):
print(i)
thread = threading.Thread(target=print_numbers)
thread.start()
Asyncio并发
Asyncio的使用,展示了如何在Python中进行异步编程。
import asyncio
async def print_numbers():
for i in range(5):
print(i)
await asyncio.sleep(1)
asyncio.run(print_numbers())
Web Scraping with Beautiful Soup
使用Beautiful Soup进行网页抓取。
from bs4 import BeautifulSoup
import requests
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.text
RESTful API with Flask
使用Flask框架创建RESTful API。
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route('/api/data', methods=['GET'])
def get_data():
data = {'key': 'value'}
return jsonify(data)
if __name__ == '__main__':
app.run(debug=True)
单元测试 with unittest
使用unittest进行单元测试。
import unittest
def add(x, y):
return x + y
class TestAddition(unittest.TestCase):
def test_add_positive_numbers(self):
self.assertEqual(add(2, 3), 5)
if __name__ == '__main__':
unittest.main()
数据库交互 with SQLite
使用SQLite数据库的交互。
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 执行SQL查询
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name')
# 提交更改
conn.commit()
# 关闭连接
conn.close()
文件处理
文件的读写操作。
# 写入文件
with open('example.txt', 'w') as file:
file.write('Hello, Python!')
# 读取文件
with open('example.txt', 'r') as file:
content = file.read()
错误处理
错误处理的示例。
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"Error: {e}")
except Exception as e:
print(f"Unexpected Error: {e}")
else:
print("No errors occurred.")
finally:
print("This block always executes.")
Python Decorators
使用装饰器的示例。
def decorator(func):
def wrapper():
print("Before function execution")
func()
print("After function execution")
return wrapper
@decorator
def my_function():
print("Inside the function")
my_function()
枚举 with Enums
使用枚举类型的示例。
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(Color.RED)
集合操作
集合的基本操作,包括并集、交集和差集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 并集
union_set = set1 | set2
# 交集
intersection_set = set1 & set2
# 差集
difference_set = set1 - set2
列表推导式
使用列表推导式来生成特定条件的列表。
numbers = [1, 2, 3, 4, 5]
# 偶数的平方
squares = [x**2 for x in numbers if x % 2 == 0]
Lambda 函数
使用Lambda函数进行简单的函数定义。
add = lambda x, y: x + y
result = add(3, 5)
线程与Concurrent.futures
使用concurrent.futures进行线程池操作。
from concurrent.futures import ThreadPoolExecutor
def square(x):
return x**2
with ThreadPoolExecutor() as executor:
results = executor.map(square, [1, 2, 3, 4, 5])
国际化 (i18n) with gettext
使用gettext进行国际化。
import gettext
# 设置语言
lang = 'en_US'
_ = gettext.translation('messages', localedir='locale', languages=[lang]).gette
print(_("Hello, World!"))
虚拟环境
虚拟环境的创建、激活和停用。
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境
source myenv/bin/activate # 在Unix/Linux
myenv\Scripts\activate # 在Windows
# 停用虚拟环境
deactivate
日期操作
日期的格式化和天数的添加。
from datetime import datetime, timedelta
now = datetime.now()
# 格式化日期
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')
# 给日期添加天数
future_date = now + timedelta(days=7)
字典操作
字典的值获取和遍历。
my_dict = {'name': 'John', 'age': 30}
# 获取值,并设置默认值
age = my_dict.get('age', 25)
# 遍历键和值
for key, value in my_dict.items():
print(f"{key}: {value}")
正则表达式
使用正则表达式匹配字符串中的数字。
import re
text = "Hello, 123 World!"
# 匹配数字
numbers = re.findall(r'\d+', text)
生成器
使用生成器生成一系列值。
def square_numbers(n):
for i in range(n):
yield i**2
squares = square_numbers(5)
数据库交互 with SQLite
使用SQLite数据库进行查询。
import sqlite3
# 连接SQLite数据库
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# 执行SQL查询
cursor.execute('SELECT * FROM mytable')
操作ZIP文件
使用zipfile模块创建和解压ZIP文件。
import zipfile
with zipfile.ZipFile('archive.zip', 'w') as myzip:
myzip.write('file.txt')
with zipfile.ZipFile('archive.zip', 'r') as myzip:
myzip.extractall('extracted')
Web 爬虫 requests 和 BeautifulSoup
使用requests和BeautifulSoup进行网页抓取。
import requests
from bs4 import BeautifulSoup
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 从HTML提取数据
title = soup.title.text
发送电子邮件 with smtplib
使用smtplib发送电子邮件。
import smtplib
from email.mime.text import MIMEText
# 设置邮件服务器
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
# 登录邮箱账户
server.login('your_email@gmail.com', 'your_password')
# 发送邮件
msg = MIMEText('Hello, Python!')
msg['Subject'] = 'Python Email'
server.sendmail('your_email@gmail.com', 'recipient@example.com', msg.as_string())
操作JSON文件
JSON文件的读写操作。
import json
data = {'name': 'John', 'age': 30}
# 写入JSON文件
with open('data.json', 'w') as json_file:
json.dump(data, json_file)
# 从JSON文件读取
with open('data.json', 'r') as json_file:
loaded_data = json.load(json_file)
总结
这份Python备忘请单是一个全面而实用的Python编程快速参考资源。它覆盖了从基础的数据类型、变量赋值、控制流程、函数、类与对象、文件处理、异常处理到更高级的主题,如列表推导式、Lambda函数、虚拟环境、包管理、JSON操作、正则表达式、日期处理、集合操作、线程并发、异步编程、Web抓取、RESTful API开发、单元测试、数据库交互、装饰器、枚举、国际化、生成器、ZIP文件操作、电子邮件发送等多个方面。
总的来说,备忘清单是为不同水平的Python开发者设计的,帮助大家快速查找和回顾编程中的关键概念和实用技巧。