你需要掌握的20个Python常用技巧

  • Post category:Python

你需要掌握的20个Python常用技巧

一、使用断言进行调试(assert)

在开发过程中,我们经常需要验证程序中一些假设的正确性,可以使用assert语句来进行调试,如果断言失败则抛出异常,提升开发效率。

示例代码:

def divide(x,y):
    assert y!=0, "除数不能为0"
    return x/y

二、使用enumerate函数同时遍历索引和值

在进行迭代时,我们常常需要同时获取索引和值,这时候可以使用enumerate函数。

示例代码:

fruit = ["apple", "banana", "orange"]
for i, item in enumerate(fruit):
    print(i, item)

三、交换变量的值

交换两个变量的值可以使用Python中的平行赋值。

示例代码:

x, y = 10, 20
x, y = y, x
print(x, y)

四、使用列表推导式

使用列表推导式可以快速生成列表。

示例代码:

result = [x for x in range(1, 11)]
print(result)

五、使用字典get方法设置默认值

使用字典的get方法可以设置默认值,当key不存在时返回默认值。

示例代码:

d = {'a':1, 'b':2}
print(d.get('c', 0))

六、使用zip函数合并多个列表

使用zip函数可以合并多个列表,生成一个元素为元组的列表。

示例代码:

fruit = ["apple", "banana", "orange"]
price = [10, 20, 30]
result = list(zip(fruit, price))
print(result)

七、使用collections模块中的Counter计数统计

使用collections模块中的Counter函数可以方便地进行计数统计。

示例代码:

from collections import Counter
lst = ['apple', 'banana', 'apple', 'orange', 'banana', 'banana']
cnt = Counter(lst)
print(cnt)

八、使用sorted函数进行排序

使用sorted函数可以对列表进行排序。

示例代码:

lst = [3, 8, 1, 9, 5]
result = sorted(lst)
print(result)

九、使用lambda函数进行简单函数定义

使用lambda函数可以定义简单的匿名函数。

示例代码:

f = lambda x: x**2
print(f(2))

十、使用map函数对列表元素进行函数映射

使用map函数可以对列表中的元素进行函数映射。

示例代码:

lst = [1, 2, 3, 4, 5]
result = list(map(lambda x: x**2, lst))
print(result)

十一、使用reduce函数对列表中的元素进行累积计算

使用reduce函数可以对列表中的元素进行累积计算。

示例代码:

from functools import reduce
lst = [1, 2, 3, 4, 5]
result = reduce(lambda x, y: x*y, lst)
print(result)

十二、使用filter函数筛选出符合条件的元素

使用filter可以筛选出符合条件的元素,生成一个新的列表。

示例代码:

lst = [1, 2, 3, 4, 5]
result = list(filter(lambda x: x%2==0, lst))
print(result)

十三、使用*操作符解包元组和列表

使用*操作符可以方便地解包元组和列表。

示例代码:

tpl = (1, 2, 3)
lst = [4, 5, 6]
result = [*tpl, *lst]
print(result)

十四、使用rjust和ljust函数格式化字符串

使用rjust和ljust函数可以方便地对字符串进行格式化。

示例代码:

s = "hello"
result = s.ljust(10, '-')
print(result)

十五、使用装饰器函数对函数进行装饰

使用装饰器函数可以对函数进行装饰,实现一些额外的功能,例如性能计时、缓存、权限控制等。

示例代码:

import time

def timer(func):
    def wrapper(*args, **kwargs):
        start_time = time.perf_counter()
        result = func(*args, **kwargs)
        end_time = time.perf_counter()
        print("Elapsed time: ", end_time-start_time)
        return result
    return wrapper

@timer
def test_sleep(n):
    time.sleep(n)

十六、使用try-except语句进行异常处理

使用try-except语句可以对可能抛出异常的代码进行捕获和处理。

示例代码:

try:
    x = 1/0
except ZeroDivisionError:
    print("除数不能为0")

十七、使用with语句进行文件操作

使用with语句可以方便地进行文件操作,自动管理文件的打开和关闭。

示例代码:

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

十八、使用列表切片复制列表

使用列表切片可以复制一个列表。

示例代码:

lst = [1, 2, 3, 4, 5]
result = lst[:]
print(result)

十九、使用__name__变量进行单元测试

使用__name__变量可以方便地进行单元测试。

示例代码:

def test_add():
    assert add(1, 2) == 3
    assert add(4, 5) == 9

if __name__ == '__main__':
    test_add()

二十、使用时间戳函数计算程序执行时间

使用时间戳函数可以精确地计算程序的执行时间。

示例代码:

import time

start_time = time.time()
# Code here
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)

以上是Python中常用的20个技巧,掌握这些技巧可以提升代码的效率和质量。