page contents

20个Python使用小技巧,建议收藏!

以下是 20 个实用的 Python 使用小技巧,适合初学者和有经验的开发者,帮助你提高编程效率和代码质量。

attachments-2025-01-cfAvzYkz678da569b5ba4.png以下是 20 个实用的 Python 使用小技巧,适合初学者和有经验的开发者,帮助你提高编程效率和代码质量。

1. 使用列表推导式

列表推导式可以用来快速生成列表,语法简洁。

squares = [x**2 for x in range(10)]

print(squares)  # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2. 使用 enumerate() 获取索引

在遍历列表时,使用 enumerate() 可以同时获取索引和值。

fruits = ['apple', 'banana', 'cherry']

for index, fruit in enumerate(fruits):

    print(index, fruit)

3. 使用 zip() 同时遍历多个列表

zip() 可以将多个可迭代对象打包成一个元组。

names = ['Alice', 'Bob', 'Charlie']

ages = [25, 30, 35]

for name, age in zip(names, ages):

    print(name, age)

4. 使用 *args 和 **kwargs 处理可变参数

可以使用 *args 和 **kwargs 来处理不定数量的参数。

def func(*args, **kwargs):

    print(args)

    print(kwargs)

func(1, 2, 3, name='Alice', age=25)

5. 使用 with 语句管理文件

使用 with 语句可以自动管理文件的打开和关闭。

with open('file.txt', 'r') as f:

    content = f.read()

6. 使用 defaultdict 处理字典

collections.defaultdict 可以为字典提供默认值,避免 KeyError。

from collections import defaultdict

d = defaultdict(int)

d['a'] += 1

print(d)  # 输出: defaultdict(<class 'int'>, {'a': 1})

7. 使用 Counter 统计元素频率

collections.Counter 可以快速统计可迭代对象中元素的频率。

from collections import Counter

words = ['apple', 'banana', 'apple', 'orange']

count = Counter(words)

print(count)  # 输出: Counter({'apple': 2, 'banana': 1, 'orange': 1})

8. 使用 set 去重

使用 set 可以快速去除列表中的重复元素。

my_list = [1, 2, 2, 3, 4, 4, 5]

unique_list = list(set(my_list))

print(unique_list)  # 输出: [1, 2, 3, 4, 5]

9. 使用 sorted() 排序

sorted() 函数可以对可迭代对象进行排序,并返回一个新的列表。

numbers = [5, 2, 9, 1]

sorted_numbers = sorted(numbers)

print(sorted_numbers)  # 输出: [1, 2, 5, 9]

10. 使用 map() 和 filter()

map() 和 filter() 可以对可迭代对象进行函数映射和过滤。

squared = list(map(lambda x: x**2, [1, 2, 3, 4]))

even_numbers = list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4]))

print(squared)  # 输出: [1, 4, 9, 16]

print(even_numbers)  # 输出: [2, 4]

11. 使用 itertools 进行组合和排列

itertools 模块提供了组合、排列等功能。

from itertools import permutations

perm = permutations([1, 2, 3])

print(list(perm))  # 输出: [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

12. 使用 lambda 表达式

lambda 表达式可以创建小型匿名函数。

add = lambda x, y: x + y

print(add(2, 3))  # 输出: 5

13. 使用 try 和 except 处理异常

使用 try 和 except 可以捕获和处理异常。

try:

    result = 10 / 0

except ZeroDivisionError:

    print("不能除以零!")

14. 使用 f-string 格式化字符串

Python 3.6 及以上版本支持 f-string,用于格式化字符串。

name = "Alice"

age = 25

print(f"{name} is {age} years old.")  # 输出: Alice is 25 years old.

15. 使用 datetime 处理日期和时间

datetime 模块可以方便地处理日期和时间。

from datetime import datetime

now = datetime.now()

print(now.strftime("%Y-%m-%d %H:%M:%S"))  # 输出当前日期和时间

16. 使用 json 处理 JSON 数据

json 模块可以方便地处理 JSON 数据。

import json

data = {'name': 'Alice', 'age': 25}

json_str = json.dumps(data)  # 转换为 JSON 字符串

print(json_str)

data_back = json.loads(json_str)  # 从 JSON 字符串转换回字典

print(data_back)

17. 使用 os 和 sys 处理文件和系统操作

os 和 sys 模块提供了与操作系统交互的功能。

import os

import sys

print(os.getcwd())  # 获取当前工作目录

print(sys.version)  # 获取 Python 版本

18. 使用 argparse 处理命令行参数

argparse 模块可以方便地处理命令行参数。

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')

parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator')

args = parser.parse_args()

print(args.integers)

19. 使用 pickle 序列化和反序列化对象

pickle 模块可以将 Python 对象序列化为字节流,方便存储和传输。

import pickle

data = {'name': 'Alice', 'age': 25}

with open('data.pkl', 'wb') as f:

    pickle.dump(data, f)

with open('data.pkl', 'rb') as f:

    loaded_data = pickle.load(f)

print(loaded_data)  # 输出: {'name': 'Alice', 'age': 25}

20. 使用 set 进行集合操作

set 可以用于集合操作,如并集、交集等。

a = {1, 2, 3}

b = {3, 4, 5}

print(a.union(b))  # 输出: {1, 2, 3, 4, 5}

print(a.intersection(b))  # 输出: {3}

总结

以上是 20 个实用的 Python 使用小技巧,涵盖了列表、字典、字符串、异常处理、文件操作等多个方面。掌握这些技巧可以帮助你提高编程效率和代码质量。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1662 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1662 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章