Python函数通过args和kwargs实现不定长参数,args接收任意位置参数并存为元组,kwargs接收任意关键字参数并存为字典,二者结合可灵活处理参数数量和类型不确定的场景。

Python函数的不定长参数用来接收任意数量的参数,适合处理调用时参数个数不确定的情况。主要通过 *args 和 **kwargs 实现,它们能灵活收集位置参数和关键字参数。
*args 可以捕获所有未被匹配的位置参数,存储为一个元组。
例如:def func(*args),调用时传入多个值,比如 func(1, 2, 3)
args 是一个元组,可以遍历或索引使用def show_numbers(*args):
for num in args:
print(num)
<p>show_numbers(10, 20, 30)</p><h1>输出:</h1><h1>10</h1><h1>20</h1><h1>30</h1><p>立即学习“Python免费学习笔记(深入)”;
**kwargs 捕获所有未被匹配的关键字参数,保存为字典。
def func(**kwargs),调用时使用键值对,如 func(name="Alice", age=25)
kwargs 是字典,可用 .items() 遍历def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
<p>print_info(name="Bob", city="Beijing", job="Engineer")</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/code/9569">
<img src="https://img.php.cn/upload/webcode/000/000/011/175933080587154.jpg" alt="盛世企业网站管理系统1.1.2">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/code/9569">盛世企业网站管理系统1.1.2</a>
<p>免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="盛世企业网站管理系统1.1.2">
<span>0</span>
</div>
</div>
<a href="/xiazai/code/9569" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="盛世企业网站管理系统1.1.2">
</a>
</div>
<h1>输出:</h1><h1>name: Bob</h1><h1>city: Beijing</h1><h1>job: Engineer</h1><p>立即学习“Python免费学习笔记(深入)”;
当需要同时处理位置参数和关键字参数时,可以把两者组合使用。
def log_call(prefix, *args, **kwargs):
print(f"Log: {prefix}")
print("Positional args:", args)
print("Keyword args:", kwargs)
<p>log_call("Start", 1, 2, name="Tom", action="login")</p><h1>输出:</h1><h1>Log: Start</h1><h1>Positional args: (1, 2)</h1><h1>Keyword args: {'name': 'Tom', 'action': 'login'}</h1><p>立即学习“Python免费学习笔记(深入)”;
基本上就这些。掌握 *args 和 **kwargs 能写出更通用、可扩展的函数。
以上就是如何使用python函数的不定长参数?的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号