Python(九十二)函数的参数定义-个数可变的位置参数和个数可变的关键字形参

发布时间:2023年12月28日

?? 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。
?? 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无论你是学生、职场人士还是对编程感兴趣的爱好者,都能从中受益。跟着我的学习笔记一起学习python吧。
🌙专栏目标:本专栏的目标是帮助我自己记忆、方便回顾所学知识以及帮助其他想学习python的小伙伴掌握Python编程语言的基本概念和技巧,并逐步提高我们的编程能力。通过这个专栏,我们将学会如何编写Python代码,理解各种数据类型、控制结构和函数,掌握常用的Python模块和库,以及应用Python解决实际问题。

?? 专栏主要内容: 主要学习python的开发环境搭建;Python的基础知识,包括变量、数据类型、条件语句和循环等;python的数据结构和算法;python的函数和模块;python的文件处理等。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:从零开始的Python入门之路

在这里插入图片描述

引言

在Python函数中,有时候我们无法事先确定传递给函数的实参个数,这时候就需要使用个数可变的位置参数和个数可变的关键字形参。这两种参数形式使得函数更加灵活,能够处理不同数量的输入参数。

个数可变的位置参数

定义个数可变的位置参数

使用*来定义个数可变的位置参数,这样函数就可以接受任意数量的位置参数,并将它们封装成一个元组。

def variable_args(*args):
    """
    函数用于演示个数可变的位置参数。
    
    参数:
    - args: 个数可变的位置参数,封装成元组。
    """
    print("Received arguments:", args)

# 调用函数,传递不同数量的位置参数
variable_args(1, 2, 3)
variable_args('a', 'b', 'c', 'd')

运行结果:

Received arguments: (1, 2, 3)
Received arguments: ('a', 'b', 'c', 'd')

解释:variable_args函数接受任意数量的位置参数,并将它们封装成一个元组。

个数可变的关键字形参

定义个数可变的关键字形参

使用**来定义个数可变的关键字形参,这样函数就可以接受任意数量的关键字参数,并将它们封装成一个字典。

def variable_kwargs(**kwargs):
    """
    函数用于演示个数可变的关键字形参。
    
    参数:
    - kwargs: 个数可变的关键字形参,封装成字典。
    """
    print("Received keyword arguments:", kwargs)

# 调用函数,传递不同数量的关键字参数
variable_kwargs(name='Alice', age=25)
variable_kwargs(city='Wonderland', profession='Adventurer')

运行结果:

Received keyword arguments: {'name': 'Alice', 'age': 25}
Received keyword arguments: {'city': 'Wonderland', 'profession': 'Adventurer'}

解释:variable_kwargs函数接受任意数量的关键字参数,并将它们封装成一个字典。

混合使用可变位置参数和可变关键字形参

有时候,我们可能需要混合使用个数可变的位置参数和个数可变的关键字形参,以处理更为复杂的输入情况。

def mixed_args_and_kwargs(arg1, *args, kwarg1='default', **kwargs):
    """
    函数用于演示混合使用可变位置参数和可变关键字形参。
    
    参数:
    - arg1: 普通的位置参数。
    - args: 个数可变的位置参数,封装成元组。
    - kwarg1: 默认值为'default'的关键字形参。
    - kwargs: 个数可变的关键字形参,封装成字典。
    """
    print("Received arguments:", arg1, args)
    print("Received keyword arguments:", kwarg1, kwargs)

# 调用函数,混合传递位置参数和关键字参数
mixed_args_and_kwargs('first', 1, 2, kwarg1='custom', name='Bob', age=30)

运行结果:

Received arguments: first (1, 2)
Received keyword arguments: custom {'name': 'Bob', 'age': 30}

解释:mixed_args_and_kwargs函数混合使用了可变位置参数和可变关键字形参,以处理不同类型的输入。

总结

个数可变的位置参数和个数可变的关键字形参是Python函数中用于处理不确定数量参数的强大工具。它们使得函数更加灵活,能够适应各种输入情况。

参考链接:

文章来源:https://blog.csdn.net/AnChenliang_1002/article/details/134678555
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。