你需要掌握的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个技巧,掌握这些技巧可以提升代码的效率和质量。