Python关键字参数与非关键字参数(可变参数)详解
2012-12-24 15:52
561 查看
关键字参数与非关键字参数(可变参数)详解
学过php或者其他语言的同学都知道,php里面的参数不是个数不是可变的(只是很多时候是可以省略的,因为在函数定义的时候为参数设置了默认值)。但是在python里却不是这样,python里面运行可变参数的出现,参数中出现(*arg,**arg2)的形式。今天我们来详解一下这种用法:
例如:
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 1
arg2 parameters is 2
key1 parameter is 3
key2 parameter is 4
arg parameter is (5, 6)
keywords parameter is {'k3': 3, 'k2': 2, 'k1': 1}
函数参数分为四部分:
arg1,arg2,key1,key2普通参数
*arg 非关键字参数列表
**keywords 关键字参数列表
函数声名部分,参数的四个部分不可颠倒位置,可以没有其中某几部分。
python函数的这种特性使得函数参数更加灵活,参数个数也不受限制。
注意:这种用法常用在python的装饰器中,至于什么是装饰器,它是python里面非常重要的一个特性,我会在以后详解
python开发就去PythonTab中文网—PythonTab :Python中文开发者社区门户
文章转自:http://***/html/2012/pythonjichu_1224/54.html
相关文章推荐
- python-关键字参数与非关键字参数(可变参数)详解
- 一文详解Python中的*可变参数与**关键字参数
- python关键字和非关键字参数(可变长参数)
- python可变参数详解
- python中的函数参数定义和可变参数详解
- python的可变参数和关键字参数(*args **kw)
- python的位置参数、默认参数、关键字参数、可变参数区别
- Python(8)函数之普通参数、参数默认值、可变参数、关键字参数、命名关键字参数及递归函数
- 自学python(4)函数概述,参数,可变参数,关键字参数,组合参数,递归函数
- python的可变参数和关键字参数(*args **kw)
- 【Python-3.3】函数中的可变参数和关键字参数
- Python函数可变参数定义及其参数传递方式实例详解
- Python函数参数总结(位置参数、默认参数、可变参数、关键字参数和命名关键字参数)
- python的位置参数、默认参数、关键字参数、可变参数区别
- python的可变参数和关键字参数(*args **kw)
- python函数参数(可变参数tuple和关键字参数list)
- Python 必选参数,默认参数,可变参数,关键字参数和命名关键字参数
- Python笔记2——默认参数,可变参数,关键字参数,参数组合
- python学习笔记 可变参数关键字参数**kw相关学习
- Python函数参数(默认参数、可变参数、关键字参数及参数组合)