• Python函数详解(四)——Python函数参数使用注意事项


    今天继续给大家介绍Python相关知识,本文主要内容是Python函数参数使用注意事项。
    在上文Python函数详解(三)——函数的参数传递进阶中,我们学习了函数参数的进阶内容。今天,我们来学习函数的参数使用注意事项。

    一、Python使用默认参数问题

    在使用Python的默认参数时,如果默认参数是列表等可变参数,那么可能存在一些问题。首先来看以下代码:
    在这里插入图片描述
    在理论上来讲,我们每次调用func()函数,都会得到[123],但是当我们第二次调用func()函数的时候,得到的结果却是[123,123]。
    这是因为Python参数在定义的时候,ls可变参数的值就已经确定为[],当我们调用该函数时,会改变ls的值,因此在下次调用时,可变参数ls的值就不再是[]了,而是[123]了。
    因此,我们在使用可变参数时,要尽可能的将可变参数的值设置为不可变的变量,比如数字类型、字符串类型、元组类型等等,避免发生类似问题。

    二、函数参数分配

    对于可变参数和关键字参数,我们有时已经把要传递的参数传递给了一个元组、序列或者是一个字典,这时我们在调用函数时,无需把元组、序列和字典中的内容重新提取成不同的变量以调用。
    函数参数分配示例如下:
    在这里插入图片描述
    从上图中可以看出,对于可变参数,我们可以把元组、序列和字典(字典时传入的是字典中的键)变量前面加一个星号,然后作为函数的可变参数来传入。
    对于关键字参数,我们可以把可转化为关键字参数的字典变量前面加两个星号,然后当作关键字参数来向函数内传递。但是对于有些字典,无法转换成关键字参数时,使用这种方法就会报错。
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 相关阅读:
    Java,设计,功能权限和数据权限,用户、角色、权限和用户组
    ref实现input自动获取光标并执行多次
    Qt的事件
    种子数据映射关系
    .NET混合开发解决方案10 WebView2控件调用网页JS方法
    java编程基础总结——16.Object类
    神经网络-使用Sequential搭建神经网络
    【Vue.js】快速入门与工作生命周期的使用
    防火墙实验一
    Spring系列五:Spring怎么解决循环依赖
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/127954374