Python多变形参函数的使用详解

      Python当如输入的参数个数不能确定时,会定义不定形参的函数,即多变形参函数。这样定义的函数可以在调用函数时决定函数参数的个数,更加灵活好用。

1.不定参数:不确定调用函数时输入几个参数,所以使用不定参数函数,格式如下:

def functionname([formal_args,] *var_args_tuple ):
   "函数描述文档"
   function_suite
   return [expression]

2.参数时多变形参和一般参数共存的情况,这个时候一般参数要写多变形参的前面

def fc_sum(arg1, *args):  #不定参数写法是“*参数名”,其实不定参数是个元组
    "将所有参数求和"
    sum = agr1
    for i in args:  #因为不定参数底层是个元组,所以可以遍历参数
        sum += i
    print("这是所有参数的求和:%f"%sum)

# 调用fc_sum函数
fc_sum(1,2,3,4,5,6,7,8,9,10,11.1,12.2) #传入的参数类型自定义输入
fs_sum(1) #有可变形参可以不传入参数,可变形参参数至少0个即可。
=================================================================================
注意:这里如没有arg1时,默认传入的所有参数都是可变参数,否则要将第一位的1分配给arg1
这是所有参数的求和:78.300000
这是所有参数的求和:1.000000
==================================================================================

 3.参数只有多变形参的情形

def fc_sum( *args):  #注意不定参数和固定参数可以混合用 ,也可以单独用,传参时按顺序分配
    "不定参数求和"
    sum = 0
    for i in args:  #因为不定参数底层是个列表,所以可以遍历参数
        sum += i
    print("这是所有参数的求和:%f"%sum)

# 调用fc_sum函数
fc_sum(1,2,3,4,5,6,7,8,9,10,11.1,12.2)
==================================================================================
这是所有参数的求和:78.300000
==================================================================================

4.多变形参还有使用两个**的情况:两个星号 ** 的参数会以字典的形式传入 

def functionname([formal_args,] **var_args_dict ):
   "函数_文档字符串"
   function_suite
   return [expression]
===============================================================================
def p2(arg1, **vardict):
    "打印任何传入的参数"
    print ("输出: ")
    print (arg1)
    print (vardict)

# 调用printinfo 函数
p2(1, a=2, b=3)
==========执行结果如下:==========================================================
{'a': 2, 'b': 3}

猜你喜欢

转载自blog.csdn.net/qq_26442553/article/details/81584527