• 19、Python -- 关键字参数 与 参数默认值,参数收集 与 逆向参数收集


    关键字参数
    参数默认值
    参数收集
    逆向参数收集

    关键字参数

    Python函数的参数名不是无意义的,Python允许调用函数时通过名字来传入参数值

    调用函数时,支持两种方式为参数指定值:
    方式1:位置参数:必须按顺序为每个参数指定参数值
    方式2:关键字参数(命名参数):按参数名为参数指定参数值

    位置参数:

    在这里插入图片描述

    关键字参数

    相比于位置参数,关键字参数的优势:不用按顺序,可读性更高
    在这里插入图片描述

    位置参数和关键字参数的混合使用

    在这里插入图片描述

    关键字参数注意点

    如果希望调用函数时混合使用关键字参数和位置参数,关键字参数必须位于位置参数之后。
    在这里插入图片描述

    参数默认值

    程序需要在定义函数时为一个或多个形参指定默认值——这样调用函数时就可以省略为该形参传入参数值

    为形参指定默认值的语法格式如下:形参名 = 默认值

    带默认值的参数必须处于没有默认值的参数的后面

    使用参数默认值

    对于有默认值的参数,调用函数时可省略为该参数指定参数值
    
    • 1

    如果要省略为前面的参数指定参数值,则需要用关键字参数为后面的参数指定参数值

    在这里插入图片描述

    普通参数收集(*xxx)

    在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入

    参数收集的本质就是一个元组:Python会将传给带*参数的多个值收集成一个元组。

    Python允许个数可变的形参可以处于形参列表的任意位置(不要求是形参列表的最后一个参数),但最多只能带一个支持“普通”参数收集的形参。

    如果支持“普通”参数收集的形参位于前面,后面参数则需要使用关键字参数传值

    在这里插入图片描述

    注意点

    如图,如果把参数收集放在其他参数前面,python会把传过来的值都收集成一个元组给 num 参数。
    导致 books 这个参数没有值而报错
    在这里插入图片描述

    如果要支持“普通”参数收集的形参位于前面,后面参数则需要使用关键字参数传值
    在这里插入图片描述

    一个函数只能有一个普通参数收集的形参
    在这里插入图片描述

    关键字参数收集(**xxx)

    在参数前面添加2个星号,该参数支持关键字参数收集,收集的参数被当成dict处理

    一个函数可同时支持普通参数收集和关键字参数收集

    在这里插入图片描述

    在这里插入图片描述

    逆向参数收集

    逆向参数收集:在列表、元组前添加一个 *,在字典之前添加两个 **

    即使是支持收集的参数,如果程序需要将一个元组传给该参数,同样需要使用逆向收集(否则整个元组被当成一个值)

    注意点:

    调用函数时,Python 不会对元组自动解包,默认情况下,元组是一个整体
    在这里插入图片描述
    *对元组进行解包(逆向参数收集)

    在这里插入图片描述

    列表作为参数
    在这里插入图片描述

    参数值多就不行了
    在这里插入图片描述

    dict(字典)的逆向参数收集

    dict前添加两个**,这样字典就可逆向参数收集

    字典将会以关键字参数的形式传入。

    在这里插入图片描述

  • 相关阅读:
    基于粒子群优化算法的BP神经网络预测模型(Matlab代码实现)
    基于SSM学生求职招聘兼职网站
    如何快速给pdf加水印?
    jmeter使用监视器结果监控tomcat性能
    全网最细讲解如何实现导出Excel压缩包文件
    协程(四)——Android中使用协程
    算法通关村第二关-黄金挑战K个一组反转
    计算机高质量公开课程整理(长期整理)
    主从复制是怎么实现的?
    基于SSM的校园资讯推荐系统设计与实现
  • 原文地址:https://blog.csdn.net/weixin_44411039/article/details/134057182