首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 30段代码提升开发效率,高效实用

Python 30段代码提升开发效率,高效实用

作者头像
用户11081884
发布2026-07-20 20:08:22
发布2026-07-20 20:08:22
260
举报

在Python编程的世界里,简洁高效的代码往往能事半功倍。今天为大家整理了30个实用代码片段,覆盖日常开发中的高频场景,每个都短小精悍却威力无穷

1. 列表去重保持顺序

代码语言:javascript
复制
defremove_duplicates(lst):
    seen = set()
    return [xforxinlstifnot (xinseenorseen.add(x))]

# 示例
original = [3, 2, 1, 2, 3, 4, 5, 4]
result = remove_duplicates(original)
print(result)  # [3, 2, 1, 4, 5]

2. 字典键值反转

代码语言:javascript
复制
defreverse_dict(d):
    return {v: kfork, vind.items()}

# 示例
original = {'a': 1, 'b': 2, 'c': 3}
reversed_dict = reverse_dict(original)
print(reversed_dict)  # {1: 'a', 2: 'b', 3: 'c'}

3. 统计元素频率

代码语言:javascript
复制
fromcollectionsimportCounter

data = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']
freq = Counter(data)
print(freq.most_common(2))  # [('apple', 3), ('banana', 2)]

4. 检查字符串是否为数字

代码语言:javascript
复制
defis_number(s):
    try:
        float(s)
        returnTrue
    exceptValueError:
        returnFalse

# 示例
print(is_number("123.45"))  # True
print(is_number("abc"))     # False

5. 生成随机字符串

代码语言:javascript
复制
importrandom
importstring

defrandom_string(length=8):
    chars = string.ascii_letters+string.digits
    return''.join(random.choice(chars) for_inrange(length))

# 示例
print(random_string(10))  # 类似 "aB3dE7gH9j"

6. 字符串首字母大写

代码语言:javascript
复制
defcapitalize_words(s):
    return' '.join(word.capitalize() forwordins.split())

# 示例
text = "hello world python"
print(capitalize_words(text))  # "Hello World Python"

7. 读取文件行数

代码语言:javascript
复制
defcount_lines(filename):
    withopen(filename, 'r', encoding='utf-8') asf:
        returnsum(1for_inf)

# 示例
line_count = count_lines('data.txt')
print(f"文件共有 {line_count} 行")

8. 批量重命名文件

代码语言:javascript
复制
importos

defbatch_rename(folder, prefix):
    fori, filenameinenumerate(os.listdir(folder), 1):
        old_path = os.path.join(folder, filename)
        new_name = f"{prefix}_{i}{os.path.splitext(filename)[1]}"
        new_path = os.path.join(folder, new_name)
        os.rename(old_path, new_path)

9. 计算日期差

代码语言:javascript
复制
fromdatetimeimportdatetime

defdays_between(date1, date2):
    d1 = datetime.strptime(date1, "%Y-%m-%d")
    d2 = datetime.strptime(date2, "%Y-%m-%d")
    returnabs((d2-d1).days)

# 示例
days = days_between("2024-01-01", "2024-03-20")
print(f"相差 {days} 天")

10. 获取当前时间戳

代码语言:javascript
复制
importtime

timestamp = int(time.time())
print(f"当前时间戳: {timestamp}")

11. 简单HTTP请求

代码语言:javascript
复制
importrequests

deffetch_url(url):
    try:
        response = requests.get(url, timeout=5)
        returnresponse.status_code, response.text[:100]
    exceptrequests.RequestExceptionase:
        returnNone, str(e)

# 示例
status, content = fetch_url("https://httpbin.org/get")
print(f"状态码: {status}")

12. 斐波那契数列(记忆化)

代码语言:javascript
复制
fromfunctoolsimportlru_cache

@lru_cache(maxsize=None)
deffibonacci(n):
    ifn<2:
        returnn
    returnfibonacci(n-1) +fibonacci(n-2)

# 示例
print(fibonacci(10))  # 55

13. 快速排序实现

代码语言:javascript
复制
defquick_sort(arr):
    iflen(arr) <= 1:
        returnarr
    pivot = arr[len(arr)//2]
    left = [xforxinarrifx<pivot]
    middle = [xforxinarrifx == pivot]
    right = [xforxinarrifx>pivot]
    returnquick_sort(left) +middle+quick_sort(right)

# 示例
data = [3, 6, 8, 10, 1, 2, 1]
sorted_data = quick_sort(data)
print(sorted_data)  # [1, 1, 2, 3, 6, 8, 10]

14. 进度条显示

代码语言:javascript
复制
defprogress_bar(iteration, total, length=50):
    percent = (iteration/total)
    filled_length = int(length*percent)
    bar = '█'*filled_length+'-'* (length-filled_length)
    print(f'\r|{bar}| {percent:.1%}', end='\r')
    ifiteration == total:
        print()

# 示例
total_items = 100
foriinrange(total_items+1):
    progress_bar(i, total_items)
    time.sleep(0.01)

15. 内存使用监控

代码语言:javascript
复制
importsys

defmemory_usage(obj):
    returnsys.getsizeof(obj)

# 示例
data_list = [iforiinrange(1000)]
print(f"列表占用内存: {memory_usage(data_list)} 字节")

16. 邮箱格式验证

代码语言:javascript
复制
importre

defis_valid_email(email):
    pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
    returnbool(re.match(pattern, email))

# 示例
print(is_valid_email("test@example.com"))  # True
print(is_valid_email("invalid-email"))     # False

17. 密码强度检查

代码语言:javascript
复制
defcheck_password_strength(password):
    iflen(password) <8:
        return"弱"
    has_upper = any(c.isupper() forcinpassword)
    has_lower = any(c.islower() forcinpassword)
    has_digit = any(c.isdigit() forcinpassword)
    has_special = any(notc.isalnum() forcinpassword)
    
    score = sum([has_upper, has_lower, has_digit, has_special])
    ifscore == 4:
        return"强"
    elifscore>= 2:
        return"中"
    else:
        return"弱"

18. 多线程任务执行

代码语言:javascript
复制
importthreading
importtime

defworker(name, delay):
    print(f"线程 {name} 开始")
    time.sleep(delay)
    print(f"线程 {name} 结束")

# 示例
threads = []
foriinrange(3):
    t = threading.Thread(target=worker, args=(f"Thread-{i}", i+1))
    threads.append(t)
    t.start()

fortinthreads:
    t.join()

19. 优雅的错误处理装饰器

代码语言:javascript
复制
defhandle_errors(func):
    defwrapper(*args, **kwargs):
        try:
            returnfunc(*args, **kwargs)
        exceptExceptionase:
            print(f"错误发生: {type(e).__name__}: {e}")
            returnNone
    returnwrapper

@handle_errors
defrisky_operation(x, y):
    returnx/y

# 示例
result = risky_operation(10, 0)  # 输出: 错误发生: ZeroDivisionError: division by zero

20. JSON与Python对象互转

代码语言:javascript
复制
importjson

defsave_to_json(data, filename):
    withopen(filename, 'w', encoding='utf-8') asf:
        json.dump(data, f, ensure_ascii=False, indent=2)

defload_from_json(filename):
    withopen(filename, 'r', encoding='utf-8') asf:
        returnjson.load(f)

# 示例
data = {"name": "张三", "age": 25, "skills": ["Python", "Java"]}
save_to_json(data, "user.json")
loaded_data = load_from_json("user.json")
print(loaded_data)

21. 素数判断

代码语言:javascript
复制
defis_prime(n):
    ifn<2:
        returnFalse
    foriinrange(2, int(n**0.5) +1):
        ifn%i == 0:
            returnFalse
    returnTrue

# 示例
print(is_prime(17))  # True
print(is_prime(20))  # False

22. 最大公约数计算

代码语言:javascript
复制
defgcd(a, b):
    whileb:
        a, b = b, a%b
    returna

# 示例
print(gcd(48, 18))  # 6

23. 中英文混合字符串长度计算

代码语言:javascript
复制
defmixed_string_length(s):
    chinese_count = sum(1forcinsif'\u4e00'<= c<= '\u9fff')
    english_count = len(s) -chinese_count
    returnchinese_count*2+english_count

# 示例
text = "Hello世界Python编程"
print(f"混合长度: {mixed_string_length(text)}")  # 20

24. 获取系统信息

代码语言:javascript
复制
importplatform

defsystem_info():
    info = {
        "系统": platform.system(),
        "版本": platform.version(),
        "处理器": platform.processor(),
        "Python版本": platform.python_version()
    }
    returninfo

# 示例
print(system_info())

25. 图片尺寸获取

代码语言:javascript
复制
fromPILimportImage

defget_image_size(image_path):
    withImage.open(image_path) asimg:
        returnimg.size

# 示例
width, height = get_image_size("example.jpg")
print(f"图片尺寸: {width}x{height}")

26. SQLite简单操作

代码语言:javascript
复制
importsqlite3

defcreate_db():
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS users
                     (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
    conn.commit()
    conn.close()

27. 提取网页链接

代码语言:javascript
复制
importre

defextract_urls(text):
    pattern = r'https?://[^\s<>"]+|www\.[^\s<>"]+'
    returnre.findall(pattern, text)

# 示例
html = '访问 <a href="https://www.example.com">示例网站</a> 和 http://test.com'
urls = extract_urls(html)
print(urls)  # ['https://www.example.com', 'http://test.com']

28. ZIP文件处理

代码语言:javascript
复制
importzipfile

defzip_files(files, zipname):
    withzipfile.ZipFile(zipname, 'w') aszipf:
        forfileinfiles:
            zipf.write(file)

defunzip_file(zipname, extract_to):
    withzipfile.ZipFile(zipname, 'r') aszipf:
        zipf.extractall(extract_to)

29. 函数执行时间测量

代码语言:javascript
复制
importtime

deftimer(func):
    defwrapper(*args, **kwargs):
        start = time.perf_counter()
        result = func(*args, **kwargs)
        end = time.perf_counter()
        print(f"{func.__name__} 执行时间: {end - start:.6f}秒")
        returnresult
    returnwrapper

@timer
defslow_function():
    time.sleep(1)
    return"完成"

# 示例
slow_function()

30. 简单数据标准化

代码语言:javascript
复制
defnormalize_data(data):
    min_val = min(data)
    max_val = max(data)
    return [(x-min_val) / (max_val-min_val) forxindata]

# 示例
original = [10, 20, 30, 40, 50]
normalized = normalize_data(original)
print(normalized)  # [0.0, 0.25, 0.5, 0.75, 1.0]

这30个Python代码片段涵盖了从基础到进阶的多个应用场景,力求在最短的代码中实现最大的功能。掌握这些技巧不仅能提升编程效率,还能写出更优雅、更Pythonic的代码。

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档