[Python]Python函数参数中的*,**
2006-03-22 14:04
323 查看
问题:
Python的函数定义中有两种特殊的情况,即出现*,**的形式。
如:def myfun1(username, *keys)或def myfun2(username, **keys)等。
解释:
* 用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。
**用来处理传递任意个有名字的参数,这些参数用dict来访问。*
应用:
#########################
# “*” 的应用
#########################
def fun1(*keys):
print "keys type=" + type(keys)
print "keys=" + str(keys)
for i in range(0, len(keys)):
print "keys[" + str(i) + "]=" + str(keys[i])
fun1(2,3,4,5)
输出以下结果:
keys type=<type 'tuple'>
keys=(2, 3, 'a')
keys[0]=2
keys[1]=3
keys[2]=a
#########################
# “**” 的应用
#########################
def fun2(**keys):
print "keys type=" + type(keys)
print "keys=" + str(keys)
print "name=" + str(keys['name'])
fun2(name="vp", age=19)
输出以下结果:
keys type=<type 'dict'>
keys={'age': 19, 'name': 'vp'}
name=vp
Python的函数定义中有两种特殊的情况,即出现*,**的形式。
如:def myfun1(username, *keys)或def myfun2(username, **keys)等。
解释:
* 用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。
**用来处理传递任意个有名字的参数,这些参数用dict来访问。*
应用:
#########################
# “*” 的应用
#########################
def fun1(*keys):
print "keys type=" + type(keys)
print "keys=" + str(keys)
for i in range(0, len(keys)):
print "keys[" + str(i) + "]=" + str(keys[i])
fun1(2,3,4,5)
输出以下结果:
keys type=<type 'tuple'>
keys=(2, 3, 'a')
keys[0]=2
keys[1]=3
keys[2]=a
#########################
# “**” 的应用
#########################
def fun2(**keys):
print "keys type=" + type(keys)
print "keys=" + str(keys)
print "name=" + str(keys['name'])
fun2(name="vp", age=19)
输出以下结果:
keys type=<type 'dict'>
keys={'age': 19, 'name': 'vp'}
name=vp
相关文章推荐
- 深入解析Python中函数的参数与作用域
- python---函数(概念、可选参数、默认参数、健壮性、错误信息定义)
- Python函数可变参数args及kwargs释义
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- python 函数参数的传递(参数带星号的说明)
- Python 不定参数函数
- python函数参数的理解,对象和变量
- python 函数参数的传递(参数带星号的说明)
- 20161016 Python 读书笔记之函数抽象 参数、作用域
- 【转】python函数参数的传递
- python中函数参数的传递
- Python 好用得让人发指的函数参数语法糖
- 零基础学python-2.19 定义函数、调用函数与默认参数
- python 函数参数
- python--函数的参数
- Python函数中的可变参数
- python入门3,类,函数,参数
- python 函数默认参数的小坑
- Python 语言及其应用 Chapter_4_Note_2 函数_参数_
- python学习之路——函数参数问题