python可变参数调用函数问题

本文讨论了在Python中使用可变参数和默认参数时遇到的问题。当默认参数与非关键字可变参数结合时,Python解释器可能会混淆参数的边界。通过示例展示了如何通过关键字可变参数解决这个问题,并强调了实际编程中需要注意的关键点。
摘要由CSDN通过智能技术生成

一直使用python实现一些想法,最近在使用python的过程中出现这样一个需求,定义了一个函数,第一个是普通参数,第二个是默认参数,后面还有可变参数,在最初学习python的时候,都知道非关键字可变参数和关键字可变参数两种,调用的方式也非常多种多样,这里主要提出一个比较隐含的问题,并将各种可能出现的情况进行了探讨。

函数声明格式

python虽然不支持函数重载,但是通过对函数参数的众多特性的支持基本弥补了。函数声明的通式如下:

def func(argv1,argv2...[,argv_d = default1,...]\
        [,*var_argv][,**var_key_argv])

这是python函数声明的通式,首先是普通参数若干个,也可以没有,接着是带默认值的参数,然后是非关键字可变参数,最后是关键字可变参数。这为python提供的强大函数调用奠定了基础。

函数调用

正是在函数调用的过程中遇到了问题。为了说明,我定义了一个如下的函数进行说明:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值