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}
没接触的时候感觉很神秘,接触了弄懂了以后感觉还是很好理解的。
本文介绍了Python中两种类型的可变参数:*args和**kwargs。*args用于接收任意数量的位置参数,而**kwargs则用于接收任意数量的关键字参数。通过实例演示了如何使用这两种参数。
243

被折叠的 条评论
为什么被折叠?



