开发知识

Python 备忘清单,一眼扫完核心知识点

来源: 哈希编程  日期:2024-04-23 18:20:04  点击:26  属于:开发知识

数据类型

介绍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开发设计的,帮助大家快速查找和回顾编程中的关键概念和实用技巧。