Posts
学习与思考
莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
学习与思考
最近看到一篇详细介绍Python中args与kwargs关键词的文章,自己对与这两个关键词的用法很不是很熟练,在此搬运分享一下:
原文地址:Python args and kwargs: Demystified
这个教程在细节上非常详尽,很适合初学者阅读。
Python程序的函数定义中经常出现两个奇怪的参数:args与**kwargs。这篇教程将对两者的用法进行详细的揭秘,教导你如何更灵活地使用args与*kwargs创建自己的函数。
通过本文你将学习到:
- *args与**kwargs的实际意义;
- 如何在函数定义中使用*args与**kwargs
- 如何使用*解包迭代器
- 如何使用**解包字典
向函数传递多个参数
*args与**kwargs允许你向函数传递多个参数或者关键字参数。下面的代码是一个接收两个参数并返回它们的和的函数:
def my_sum(a,b): return a + b
这个函数能够完美运行,但是受限于进能够接收两个参数。如果你需要对一组未知数量的数求和,难道要每次根据不同的数量来建立不同的函数吗?
在函数定义中使用args变量
对于上面的疑问,我们的回答当然是”No!”。Python提供了多种像函数传递未定数量参数的方法。人们最常用的便是将一个包含所有参数的列表或者集合传向函数。此时我们的
my_sum
函数将变为下面的形式:# sum_integers_list.py def my_sum(my_integers): result = 0 for x in my_integers: result += x return result list_of_integers =...