前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >整理了45个Python小技巧,非常实用!

整理了45个Python小技巧,非常实用!

作者头像
小F
发布2023-12-11 14:22:00
2000
发布2023-12-11 14:22:00
举报

大家好,我是小F~

今天给大家介绍一个Python备忘单,可以作为学习Python编程的快速参考指南。

无论你是学习基础知识的初学者,亦或是稍有经验的开发人员。

使用这个备忘单不仅可以简化你的编码任务,还能提高你的Python熟练程度。

接下来,就来一起学习下~

01 数据类型

代码语言:javascript
复制
int_num = 42
float_num = 3.14
string_var = "Hello, Python!"
bool_var = True

02 变量和赋值

代码语言:javascript
复制
x = 10
y = "Python"

03 列表和元组

代码语言:javascript
复制
my_list = [1, 2, 3, "Python"]
my_tuple = (1, 2, 3, "Tuple")

04 字典

代码语言:javascript
复制
my_dict = {'name': 'John', 'age': 25, 'city': 'Pythonville'}

05 条件语句

代码语言:javascript
复制
if x > 0:
    print("Positive")
elif x == 0:
    print("Zero")
else:
    print("Negative")
for item in my_list:
    print(item)
while condition:
    # code

06 函数

代码语言:javascript
复制
def greet(name="User"):
    return f"Hello, {name}!"
result = greet("John")

07 类和对象

代码语言:javascript
复制
class Dog:
    def __init__(self, name):
        self.name = name
def bark(self):
        print("Woof!")
my_dog = Dog("Buddy")
my_dog.bark()

08 文件处理

代码语言:javascript
复制
with open("file.txt", "r") as file:
    content = file.read()
with open("new_file.txt", "w") as new_file:
    new_file.write("Hello, Python!")

09 异常处理

代码语言:javascript
复制
try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero!")
finally:
    print("Execution completed.")

10 库和模块

代码语言:javascript
复制
import math
from datetime import datetime
result = math.sqrt(25)
current_time = datetime.now()

11 列表推导式

代码语言:javascript
复制
squares = [x**2 for x in range(5)]

12 匿名函数

代码语言:javascript
复制
add = lambda x, y: x + y
result = add(2, 3)

13 虚拟环境

代码语言:javascript
复制
# 创建一个虚拟环境
python -m venv myenv

# 激活虚拟环境
source myenv/bin/activate  # On Unix or MacOS
myenv\Scripts\activate  # On Windows

# 退出虚拟环境
deactivate

14 安装包管理

代码语言:javascript
复制
# 安装Python库
pip install package_name

# 已安装的Python库列表
pip list

# 创建一个requirements.txt文件
pip freeze > requirements.txt

# 根据requirements.txt安装依赖的Python库
pip install -r requirements.txt

15 JSON数据处理

代码语言:javascript
复制
import json

# 将Python对象转换成JSON
json_data = json.dumps({"name": "John", "age": 25})

# 将JSON转换成Python对象
python_obj = json.loads(json_data)

16 正则表达式

代码语言:javascript
复制
import re
pattern = r'\d+'  # 匹配1个或多个数字
result = re.findall(pattern, "There are 42 apples and 123 oranges.")

17 日期操作

代码语言:javascript
复制
from datetime import datetime, timedelta

current_date = datetime.now()
future_date = current_date + timedelta(days=7)

18 列表操作

代码语言:javascript
复制
numbers = [1, 2, 3, 4, 5]

# 过滤
evens = list(filter(lambda x: x % 2 == 0, numbers))

# 映射
squared = list(map(lambda x: x**2, numbers))

# 减少
from functools import reduce
product = reduce(lambda x, y: x * y, numbers)

19 字典操作

代码语言:javascript
复制
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()}

20 线程并发

代码语言:javascript
复制
import threading
def print_numbers():
    for i in range(5):
        print(i)
thread = threading.Thread(target=print_numbers)
thread.start()

21 使用Asyncio实现并发

代码语言:javascript
复制
import asyncio
async def print_numbers():
    for i in range(5):
        print(i)
        await asyncio.sleep(1)
asyncio.run(print_numbers())

22 使用Beautiful Soup实现网页爬虫

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.text

23 使用Flask实现RESTful API

代码语言:javascript
复制
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)

24 使用unittest进行单元测试

代码语言:javascript
复制
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()

25 与SQLite的数据库交互

代码语言:javascript
复制
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# 只需SQL查询
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')

# 提交
conn.commit()

# 关闭链接
conn.close()

26 文件写入和读取

代码语言:javascript
复制
# 保存文件
with open('example.txt', 'w') as file:
    file.write('Hello, Python!')
# 读取文件
with open('example.txt', 'r') as file:
    content = file.read()

27 异常操作

代码语言:javascript
复制
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.")

28 JSON数据处理

代码语言:javascript
复制
import json

# 将Python对象转换成JSON
json_data = json.dumps({"name": "John", "age": 25})

# 将JSON转换成Python对象
python_obj = json.loads(json_data)

29 Python修饰符

代码语言:javascript
复制
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()

30 使用枚举

代码语言:javascript
复制
from enum import Enum
class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
print(Color.RED)

31 集合操作

代码语言:javascript
复制
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 合并
union_set = set1 | set2

# 交集
intersection_set = set1 & set2

# 差值
difference_set = set1 - set2

32 列表推导式

代码语言:javascript
复制
numbers = [1, 2, 3, 4, 5]

# 偶数的平方
squares = [x**2 for x in numbers if x % 2 == 0]

33 匿名函数

代码语言:javascript
复制
add = lambda x, y: x + y
result = add(3, 5)

34 线程与Concurrent.futures

代码语言:javascript
复制
from concurrent.futures import ThreadPoolExecutor
def square(x):
    return x**2
with ThreadPoolExecutor() as executor:
    results = executor.map(square, [1, 2, 3, 4, 5])

35 使用gettext国际化

代码语言:javascript
复制
import gettext

# 设置语言
lang = 'en_US'
_ = gettext.translation('messages', localedir='locale', languages=[lang]).gettext
print(_("Hello, World!"))

36 虚拟环境

代码语言:javascript
复制
# 创建一个虚拟环境
python -m venv myenv

# 激活虚拟环境
source myenv/bin/activate  # On Unix or MacOS
myenv\Scripts\activate  # On Windows

# 退出虚拟环境
deactivate

37 日期处理

代码语言:javascript
复制
from datetime import datetime, timedelta
now = datetime.now()

# 日期格式化
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')

# 添加天数
future_date = now + timedelta(days=7)

38 使用字典

代码语言:javascript
复制
my_dict = {'name': 'John', 'age': 30}

# 获取值
age = my_dict.get('age', 25)

# 遍历键和键值
for key, value in my_dict.items():
    print(f"{key}: {value}")

39 正则表达式

代码语言:javascript
复制
import re
text = "Hello, 123 World!"

# 匹配数字
numbers = re.findall(r'\d+', text)

40 迭代器

代码语言:javascript
复制
def square_numbers(n):
    for i in range(n):
        yield i**2
squares = square_numbers(5)

41 与SQLite的数据库交互

代码语言:javascript
复制
import sqlite3

# 链接SQLite数据库
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()

# 执行SQL查询语句
cursor.execute('SELECT * FROM mytable')

42 ZIP文件操作处理

代码语言:javascript
复制
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')

43 网页抓取请求和BeautifulSoup

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 获取网页数据
title = soup.title.text

44 使用smtplib发送邮件

代码语言:javascript
复制
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())

45 使用JSON文件

代码语言:javascript
复制
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)

万水千山总是情,点个 👍 行不行。

··· END ···

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 法纳斯特 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Serverless HTTP 服务
Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档