Python 关键字参数、非关键字参数(可变参数)入门实例

内容摘要
这篇文章主要为大家详细介绍了Python 关键字参数、非关键字参数(可变参数)入门实例,具有一定的参考价值,可以用来参考一下。

对关键字参数与非关键字参数(可变参数)详解对此感兴
文章正文

这篇文章主要为大家详细介绍了Python 关键字参数、非关键字参数(可变参数)入门实例,具有一定的参考价值,可以用来参考一下。

对关键字参数与非关键字参数(可变参数)详解对此感兴趣的朋友,看看idc笔记做的技术笔记!学过php或者其他语言的同学都知道,php里面的参数不是个数不是可变的(只是很多时候是可以省略的,因为在函数定义的时候为参数设置了默认值)。但是在python里却不是这样,python里面运行可变参数的出现,参数中出现(*arg,**arg2)的形式。今天我们来详解一下这种用法:例如:

# 来自www.idcnote.com

def foo1(arg1,arg2,key1=1,key2=2,*arg,**keywords):
print "arg1 parameters is ",arg1
print "arg2 parameters is ",arg2
print "key1 parameter is ",key1
print "key2 parameter is ",key2
print "Arbitrary parameter is ", arg
print "keywords parameter is ",keywords

foo1(1,2,3,4,5,6,k1=1,k2=2,k3=3)
输出:
arg1 parameters is 1arg2 parameters is 2key1 parameter is 3key2 parameter is 4arg parameter is (5, 6)keywords parameter is {'k3': 3, 'k2': 2, 'k1': 1}
函数参数分为四部分:
arg1,arg2,key1,key2普通参数*arg 非关键字参数列表**keywords 关键字参数列表
函数声名部分,参数的四个部分不可颠倒位置,可以没有其中某几部分。python函数的这种特性使得函数参数更加灵活,参数个数也不受限制。注意:这种用法常用在python的装饰器中,至于什么是装饰器,它是python里面非常重要的一个特性,我会在以后详解

注:关于Python 关键字参数、非关键字参数(可变参数)入门实例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!