19.Python 不定长参数 *argc,**kargcs

最后更新于:2020-03-21 11:57:08

python函数的声明和调用 中我们简单的了解了函数的相关使用,然而在函数传递参数的时候,我们埋下了一个坑,关于不定长参数的传递我们还没有讲,今天这篇文章主要就是讲解这个问题。

出来混迟早是要还的

 

一.函数不定长参数语法

函数的不定长参数包含*args**kwargs,完整实例如下:

输出结果:

代码分析:由输出结果可以看出来,第一个形参*args 是元组tuple类型,第二个形参**kwargs是字典dict类型.

 

1.*args的使用方法 :

a.形参 *args 类型是元组tuple,外部调用函数时传递的参数不论是整数还是BOOL值或者是字符串str,实际上传递的都是元组数据;

b.如果函数形参是不定长参数,外部调用函数传递多个参数时,默认按顺序实参匹配形参,剩余的参数全部作为(元组)不定长参数传递;

c.如果没有为函数的不定长参数传递参数,默认为空元组();

示例代码如下:

输出结果:

 

2.**kwargs的使用方法

a.形参 **kwargs 类型是字典dict,函数外部调用函数传递参数时需要使用关键字参数,实参写法:a=1,b=2,c=False,d=”hello”;

b.如果函数形参是不定长参数,外部调用函数传递多个参数时,默认按顺序实参匹配形参,关键字参数全部作为(字典)不定长参数传递;

c.如果没有为函数的不定长参数传递参数,默认为空字典{};

示例代码如下:

输出结果:

 

3.函数不定长参数*args和**kwargs只能放在形参的末尾,顺序不能错.

别慌

二.函数不定长参数实战

输出结果:

注意:注意参数的顺序匹配

 

三.重点总结

注意函数传参的三种形式:

1.普通传参

2.缺省参数,如果外部没有为缺省参数传递实参,形参等于默认值

3.注意不定长参数的拆包,普通实参打包为元组tuple类型,关键字参数打包为字典dict类型

 

猜你喜欢:

1.python元组

2.python字典

3.python 函数声明和调用

 

转载请注明猿说Python » python 函数不定长参数 *argc,**kargcs

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
python教程公众号
猿说python
微信公众号 扫一扫关注