python函数中如何使用任意数量的关键字实参

2025-04-18 09:52:44

1、知道了什么是位置参数、关键字参数以及带 * 的形参之后,接下来了解下带 ** 的形参,形式如“**形参名”。这种类型的参数是可变数量的关键字参数,传递实参时以关键字形式传递。首先,我们定义一个带两个位置参数以及一个形为“**形参名”的参数。代码示例如下:def build_profile(first, last, **user_info): print(first,last,user_info)

python函数中如何使用任意数量的关键字实参

2、接着,向函数传递4个参数调用函数,其中两个位醅呓择锗置参数'albert'和'einstein',另外两个为关键字参数location = 'princeton'和field = 'physics'。输出结果中,前两个位置参数单独存在,后两个关键字参数被封装成了字典形式输出。代码示例如下:build_profile('albert', 'einstein', location = 'princeton', field = 'physics')

python函数中如何使用任意数量的关键字实参

3、接下来,我们利用可变关键字参数的特点,将函数代码改进一下,让整个输出结果为一个列表。定义函数代码如下:def build_profile(first, last, **user_info): profile = {} profile['first_name'] = first profile['last_name'] = last for key, value in user_info.items(): profile[key] = value return profile

python函数中如何使用任意数量的关键字实参

4、接着,我们向函数传递参数调用刚才定义的函数。可以看到输出结果变成了一个列表形式。代码示例如下:user_profile = build_profile('albert', 'einstein', location = 'princeton', field = 'physics')print(user_profile)

python函数中如何使用任意数量的关键字实参

5、然后,我们再利用关键字参数给函数设定一个默认值,整个函数混合使用位置参数、关键亨蚂擤缚字参数以及可变关键字参数。代码示例剧安颌儿如下:def build_profile(first, last_name = "einstein", **user_info): profile = {} profile['first_name'] = first profile['last_name'] = last_name for key, value in user_info.items(): profile[key] = value return profile

python函数中如何使用任意数量的关键字实参

6、接着,我们向函数传递参数,执行结果看起来跟前面的并没有什么差别。代码示例如下:user_profile = build_profile('albert', 'einstein', location = 'princeton', field = 'physics')print(user_profile)

python函数中如何使用任意数量的关键字实参

7、其实,改进之后的代码用处在于利用关键字参数设置默认值。上述代码中,调用时如果传递了last_name,传递的实参将会代替默认值;若没有提供last_name的实参,刚输出为定义函数时的默认值。代码示例如下:user_profile = build_profile('albert',location = 'princeton', field = 'physics')print(user_profile)

python函数中如何使用任意数量的关键字实参

8、总结:1、可变数量的关键字参数形式为:**形参名。2、关键字参数输出时被封装成字典形式输出。3、位置参数、关键字参数、可变关键字参数可混合使用。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢