码迷,mamicode.com
首页 > 编程语言 > 详细

Python函数中的可变长参数_速记

时间:2019-09-12 13:36:30      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:lov   one   strong   length   rgs   self   数值   使用   可变   

一、Python函数中的参数

1、使用python的函数时,有参数类别,比如位置参数、关键字参数、可变长参数

2、位置参数、关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思

二、可变长参数

1、一个星号函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历

def length_param(a, *args):
    print("a=", a)
    print("args=", args)

    for arg in args:
        print("arg=", arg)


length_param("zim","this","is","a","good","thing")

执行结果:

技术图片

 2、两个星号:形参前面加两个*(星号),注意是两个星号哦,两个星号形参的函数会把关键字参数值当成字典的形式传入,在函数内部会把关键字参数当成字典在函数内部进行遍历

def length_param(a, **kwargs):
    print("a=", a)

     print("kwargs=", kwargs)
 
     for kwarg in kwargs.keys():
         print("kwarg=", kwarg)

length_param("zim",b="this",c="is",d="good")

执行结果:

技术图片

3、一个星号和两个星号混合使用

class Params:
    def length_param(self,*args,**kwargs):
        print("args=",args)
        print("kwargs=",kwargs)

        for arg in args:
            print("arg=",arg)

        for kwarg in kwargs.values():
            print("kwarg=",kwarg)

one = Params()

one.length_param("sam","this","is","good","thing",b="you",c="love",d="me")

执行结果:

技术图片

注意:传入可变长参数时,传入关键字参数的key一定不能有冒号,否则会报如下错误

技术图片

三、注意事项:

1、函数调用时关键字参数必须在位置参数后面

Python函数中的可变长参数_速记

标签:lov   one   strong   length   rgs   self   数值   使用   可变   

原文地址:https://www.cnblogs.com/lyzin/p/11511106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!