美文网首页Python学习Python非平衡
Python(参数) (2020/9/10)

Python(参数) (2020/9/10)

作者: 我的自由飞 | 来源:发表于2020-09-10 17:04 被阅读0次

小言

今天学到的几个基础知识很好的理解python的代码

1)缺省参数        2)多值参数        3)元组和字典拆包

知识点

1)缺省参数

# 默认的缺省参数都是在末尾的

# 有多个缺省参数时在调用参数的时,需要给一个具体的参数名。

def demo(name, title="", gender=True)

        pass

gl_name = "Murphy"

demo(gl_name, gender=False)

2) 多值参数

# 有时候可能需要 一个函数 能够处理的 个数 是不确定的,这个时候,就可以使用 多值参数

# python中有两种多值参数

        # 参数名前增加一个 * 可以接收  元组 ()

        # 参数名前增加两个 ** 可以接收 字典 {}

# 一般在给多值参数命名的时候,习惯使用以下两个名字

        #  *args  存放 元组 参数,前面有一个 *

        #  **kwargs  存放 字典 参数,前面有两个 **

# args 是 arguments的缩写,有变量的含义

# kwargs  kw 是keyword。字典里有键值对,有键值对参数

def demo(args, *args, **args)

      pass 

demo(1, 2, 3, 'www', name="Murphy")        

>>>args : 1

>>>*args : (2,3,'www')

>>>**args : {'name': 'Murphy'}

3)元组和字典拆包

#  3.1 问题

        # 在调用带有多值参数的函数时,如果希望:

        #    将一个 元组 变量,直接传递给 args

        #    将一个 字典 变量,直接传递给 kwargs

# 就可以使用 拆包 ,简化参数的传递, 拆包的方式是:

        #    在 元组变量 前,增加一个 *

        #    在 字典变量 前,增加两个 **

def demo(*args, **kwargs):

       pass

gl_num = (1, 2, 3)

gl_list = {'name': '小吴', 'age': 24}

demo(gl_num, gl_list)

上段代码打印的结果全给了args元组变量为:((1, 2, 3), {'name': '小吴', 'age': 24})    {}

# 3.2 解决

# # # 拆包语法 ,简化 元组变量 / 字典变量的传递

          # 在 元组变量 前,增加一个 *

          # 在 字典变量 前,增加两个 **

demo(*gl_num, **gl_list)    等价于 demo(1, 2, 3, name='小吴', age=24)

相关文章

网友评论

    本文标题:Python(参数) (2020/9/10)

    本文链接:https://www.haomeiwen.com/subject/kerpektx.html