南昌科技网站建设,网站制作论文,深圳大型网站建设服务公司,wordpress子主题怎么用前言
最近在使用Python函数的时候#xff0c;经常碰见函数中使用*args、**kwargs#xff0c;而且参数的传递也是非常奇特#xff0c;就特意对Python函数中*args、**kwargs进行了查询#xff0c;下面就以实例进行说明。
1 Python中的*args、**kwargs
在 Python 中#x…前言
最近在使用Python函数的时候经常碰见函数中使用*args、**kwargs而且参数的传递也是非常奇特就特意对Python函数中*args、**kwargs进行了查询下面就以实例进行说明。
1 Python中的*args、**kwargs
在 Python 中*args 和 **kwargs 分别用于处理函数的不定数量的位置参数和关键字参数。这句话比较难以理解直接通过实例进行说明。
1.1 *args
*args 表示接受任意数量的位置参数。在函数定义中*args 允许函数接受不定数量的位置参数并将它们作为一个元组传递给函数。
def example_function(*args):for arg in args:print(arg)#有两种传递方式第一种直接传递元组
example_function(1, 2, 3, 4)
#第二种先定义一个元组然后利用*()进行传递
my_tuple (1, 2, 3, 4)
example_function(*my_tuple)
#两种运行结果相同
# 1
# 2
# 3
# 41.2 **kwargs
**kwargs 表示接受任意数量的关键字参数。在函数定义中**kwargs 允许函数接受不定数量的关键字参数并将它们作为一个字典传递给函数。
def example_function(**kwargs):for key, value in kwargs.items():print(f{key}: {value})#有两种传递方式第一种直接传递键值对
example_function(a1, b2, c3)
#第二种是定义一个字典用**{}进行解包
my_dict {a: 1, b: 2, c: 3}
example_function(**my_dict)
#两种运行结果相同
# a: 1
# b: 2
# c: 31.3 *args与**kwargs联合使用
有些函数中往往*args 和 **kwargs都存在因此它既可以接受任意数量的位置参数通过 *args又可以接受任意数量的关键字参数通过 **kwargs。
#定义一个传递*args 和 **kwargs函数
def example_function(*args,**kwargs):for arg in args:print(arg)for key, value in kwargs.items():print(f{key}: {value})
#定义元组和字典
my_tuple (1, 2, 3, 4)
my_dict {a: 1, b: 2, c: 3}
#一起传递元组和字典
example_function(*my_tuple,**my_dict)# 结果
# 1
# 2
# 3
# 4
# a: 1
# b: 2
# c: 3后记
大家如果有问题需要交流或者有项目需要合作可以加Q Q 504156006详聊加好友请留言“CSDN”谢谢。