python中的可变参数学习

    python中的参数分为很多种,可选参数、必选参数、可变参数等等,最近在使用的时候用到了python的可变参数,起初并不是十分的清楚什么原理,所以专门查了一下可变参数的相关解释,才明白了,可变参数原理很简单。

    python中的可变参数有两种一种是:*args形式的,代表的是一个元祖形式;另一种是**args形式的,代表的是一个字典形式,下面使用简单的代码更清晰地说明一下这个用法,来帮助理解:

 

# !/usr/bin/python
#-*-coding:utf-8-*-'''
python中的可变参数
*用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。
**用来处理传递任意个有名字的参数,这些参数用dict来访问。
'''
def one_func(*args):print "args的类型是%s" % type(args)print "args=%s" % str(args)for i in range(0, len(args)):print "args[" + str(i) + "]=%s" % str(args[i])def two_func(**args):print "args的类型是%s" % type(args)print "args=%s" % str(args)if __name__ == '__main__':# tuple1 = (1,2,3,4,5,6)# dict1 = {'A':123, 'B':456, 'C':789}one_func(1,2,3,4,5,6)print '------------------------------------------------'two_func(A=123, B=456, C=789)

下面是结果:

 

 

args的类型是<type 'tuple'>
args=(1, 2, 3, 4, 5, 6)
args[0]=1
args[1]=2
args[2]=3
args[3]=4
args[4]=5
args[5]=6
------------------------------------------------
args的类型是<type 'dict'>
args={'A': 123, 'C': 789, 'B': 456}

没接触的时候感觉很神秘,接触了弄懂了以后感觉还是很好理解的。