首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 40个实用代码案例:提升效率

Python 40个实用代码案例:提升效率

作者头像
用户11081884
发布2026-07-20 17:00:04
发布2026-07-20 17:00:04
160
举报

Python以其简洁性和多功能性成为开发者首选工具。本文精选40个实用代码片段,涵盖数据处理、文件操作、字符串处理等场景,帮助高效解决日常开发中的问题,提升效率。

数据处理与转换

1、检查列表重复元素 使用set()快速判断列表是否存在重复值:

代码语言:javascript
复制
def all_unique(lst):
      return len(lst) == len(set(lst))

2、变位词检测 利用Counter比较两个字符串的字符组成:

代码语言:javascript
复制
from collections import Counter
def anagram(first, second):
      return Counter(first) == Counter(second)

3、列表分块 将列表按指定大小切割:

代码语言:javascript
复制
from math import ceil
def chunk(lst, size):
    return [lst[i*size:(i+1)*size] for i in range(ceil(len(lst)/size))]

4、字典键值对互换 快速交换字典的键与值:

代码语言:javascript
复制
def invert_dict(d):
      return {v: k for k, v in d.items()}

5、列表扁平化 递归展开嵌套列表:

代码语言:javascript
复制
def deep_flatten(lst):
      return [item for sublist in lst for item in (deep_flatten(sublist) if isinstance(sublist, list) else [sublist])]

文件与系统操作

6、安全读取文件 自动处理文件异常:

代码语言:javascript
复制
def read_file(file_path):
      try:
           with open(file_path, 'r') as f:
                  return f.read()
      except FileNotFoundError:
             return "文件不存在"

7、创建目录(自动处理重复)

代码语言:javascript
复制
import os
def create_dir(path):
      os.makedirs(path, exist_ok=True)

8、获取文件大小(字节)

代码语言:javascript
复制
import os
def get_file_size(filepath):
      return os.path.getsize(filepath)

9、JSON文件读写 简化JSON数据持久化:

代码语言:javascript
复制
import json
def write_json(data, filename):
      with open(filename, 'w') as f:
             json.dump(data, f)

10、临时文件创建 自动清理的临时文件:

代码语言:javascript
复制
import tempfile
with tempfile.TemporaryFile() as tmp:
      tmp.write(b'Hello')
      tmp.seek(0)
      print(tmp.read())

字符串处理

11、计算字符串字节大小

代码语言:javascript
复制
def byte_size(string):
      return len(string.encode('utf-8'))

12、统计元音字母数量

代码语言:javascript
复制
import re
def count_vowels(text):
      return len(re.findall(r'[aeiou]', text, re.IGNORECASE))

13、首字母小写转换

代码语言:javascript
复制
def decapitalize(string):
      return string[0].lower() + string[1:]

14、逗号分隔列表转字符串

代码语言:javascript
复制
hobbies = ["篮球", "足球", "游泳"]
print("我的爱好:" + ", ".join(hobbies))

15、生成随机密码

代码语言:javascript
复制
import random, string
def gen_password(length=12):
      chars = string.ascii_letters + string.digits + string.punctuation
      return ''.join(random.choice(chars) for _ in range(length))

工具函数

16、代码执行时间计算

代码语言:javascript
复制
import time
start = time.time()
# 待测试代码
print(f"耗时:{time.time() - start:.4f}秒")

17、链式函数调用 根据条件动态选择函数:

代码语言:javascript
复制
def add(a, b): 
      return a + b
def subtract(a, b): 
      return a - b
print((subtract if 5 > 3 else add)(5, 3))  # 输出2

18、无if-else计算器 使用字典映射运算符:

代码语言:javascript
复制
import operator
actions = {'+': operator.add, '-': operator.sub}
print(actions['-'](50, 25))  # 输出25

19、变量交换(无需临时变量)

代码语言:javascript
复制
a, b = 1, 2
a, b = b, a

20、列表元素频率统计

代码语言:javascript
复制
from collections import Counter
Counter([1, 2, 2, 3, 3, 3])  # {3: 3, 2: 2, 1: 1}

应用场景

21、HTTP服务器(快速启动)

代码语言:javascript
复制
import http.server
PORT = 8000
http.server.SimpleHTTPRequestHandler().run(port=PORT)

22、猜数字游戏 基础命令行交互示例:

代码语言:javascript
复制
import random
number = random.randint(1, 100)
while True:
    guess = int(input("猜数字(1-100):"))
    if guess == number:
         break

23、词云生成 使用wordcloud库可视化文本:

代码语言:javascript
复制
from wordcloud import WordCloud
text = "Python 高效 简洁 强大"
WordCloud().generate(text).to_file("wordcloud.png")

24、定时任务调度

代码语言:javascript
复制
import schedule, time
def job():
      print("每5秒执行一次")
schedule.every(5).seconds.do(job)
while True: schedule.run_pending()

25、Web爬虫(基础) 使用requests抓取网页:

代码语言:javascript
复制
import requests
response = requests.get(" https://example.com ")
print(response.text[:100])

扩展案例

26、检查回文字符串

代码语言:javascript
复制
def is_palindrome(s):
      clean_s = ''.join(filter(str.isalnum, s.lower()))
      return clean_s == clean_s[::-1]

27、列表差异查找

代码语言:javascript
复制
def difference(a, b):
      return list(set(a) - set(b))

28、合并字典

代码语言:javascript
复制
dict1 = {"a": 1}
dict2 = {"b": 2}
merged = {**dict1, **dict2}  # {'a':1, 'b':2}

29、Fisher-Yates洗牌算法

代码语言:javascript
复制
from random import shuffle
lst = [1, 2, 3]
shuffle(lst)

30、分形图绘制(曼德布罗特集)

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
# 代码详见参考
def mandelbrot_vectorized(c, max_iter):
      z = np.zeros_like(c, dtype=complex)
      mask = np.ones(c.shape, dtype=bool)
      for n in range(max_iter):
           z[mask] = z[mask]**2 + c[mask]
           mask[np.abs(z) > 2] = False
      return np.sum(mask, axis=0)

31、环境变量读取

代码语言:javascript
复制
import os
print(os.environ.get('PATH'))

32、命令行参数解析

代码语言:javascript
复制
import sys
print("第一个参数:", sys.argv)

33、类型检查工具

代码语言:javascript
复制
data = 123
print(type(data).__name__)  # 'int'

34、生成器实现倒计时

代码语言:javascript
复制
def countdown(n):
      while n > 0:
           yield n
           n -= 1
for i in countdown(5): print(i)

35、日期时间格式化

代码语言:javascript
复制
from datetime import datetime
print(datetime.now().strftime("%Y-%m-%d %H:%M"))

36、正则表达式匹配数字

代码语言:javascript
复制
import re
re.findall(r'\d+', '12 apples, 5 oranges')  # ['12', '5']

37、集合操作(并集)

代码语言:javascript
复制
a = {1, 2}
b = {2, 3}
print(a.union(b))  # {1, 2, 3}

38、错误重试装饰器

代码语言:javascript
复制
import time
def retry(max_tries=3, delay=1):
     def decorator(func):
           def wrapper(*args, **kwargs):
                 tries = 0
                 while tries < max_tries:
                       try: return func(*args, **kwargs)
                 except: tries += 1; time.sleep(delay)
           return wrapper
     return decorator

39、单例模式实现

代码语言:javascript
复制
class Singleton:
     _instance = None
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

40、异步HTTP请求

代码语言:javascript
复制
import aiohttp
async def fetch(url):
       async with aiohttp.ClientSession() as session:
              async with session.get(url) as response:
                     return await response.text()

以上40个Python案例在需要时直接复制修改即可提升开发效率。更多案例可参考https://docs.python.org/3/。

“无他,惟手熟尔”!有需要的用起来。

如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!😊

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

本文分享自 Nicholas与Pypi 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据处理与转换
  • 文件与系统操作
  • 字符串处理
  • 工具函数
  • 应用场景
  • 扩展案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档