掌握Python的X篇_20_默认参、字典的展开

2023-10-29

1. 默认参数

我们可以通过“="为形参指定默认值,这样函数调用过程中如果不传对应实参,就会使用默认值

  • 在不给任何实参的情况下
def add(x=100,y=300):
    return x + y

print(add())

运行结果:400

  • 在给实参的情况下
def add(x=100,y=300):
    return x + y

print(add(4,6))

运行结果:10

  • 少传一个的情况下,向左匹配
def add(x=100,y=300):
    return x + y

print(add(6))

运行结果:306

2. 指定实参值对应的形参

在函数调用过程中,我们可以通过

<形参名字>=<>

的方式传递实参,这样就可以跳过其他参数,不按形参顺序传参

def add(x=100,y=300):
    return x + y

print(add(y=2000))

运行结果:2100

3. 接受任意多个key-value方式的参数

我们可以通过使用“**”修饰形参,这样,可以接受任意多个key-value键值对方式的实参。
所有的通过指定形参名传递的参数,会被封装为字典。

def fun(**args):
    print(args)

fun(k1="value1",k2="value2",k3="value3")

运行结果:{'k1': 'value1', 'k2': 'value2', 'k3': 'value3'}

4. 字典展开为key-value键值对的多个参数

我们可以将多个key-value键值对存放在字典中,然后使用“**”进行展开

不使用“**”的情况下回报错

def fun(**args):
    print(args)
mydict = {"k1" :"value1","k2":"value2","k3":"value3"}
fun(mydict)

报错:

Traceback (most recent call last):
  File "e:/MyselfCode/ShellMad/Python/fistpy.py", line 4, in <module>
    fun(mydict)
TypeError: fun() takes 0 positional arguments but 1 was given      

这是因为mydict在未展开的情况下,只是一个参数,不能被当做键值对。

因此可以通过“**”进行展开

def fun(**args):
    print(args)
mydict = {"k1" :"value1","k2":"value2","k3":"value3"}
fun(**mydict)

运行结果:

{'k1': 'value1', 'k2': 'value2', 'k3': 'value3'}

5. 学习视频地址:默认参、字典的展开

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

掌握Python的X篇_20_默认参、字典的展开 的相关文章

随机推荐

  • static的作用域

    一 面向过程设计中的static 1 静态全局变量 在全局变量前 加上关键字static 该变量就被定义成为一个静态全局变量 静态全局变量有以下特点 该变量在全局数据区分配内存 未经初始化的静态全局变量会被程序自动初始化为0 自动变量的值是
  • Linux下rgmii接口,zynq7010 petalinux 2019.2 RGMII via EMIO 连接问题

    各位好 遇到一个问题 petalinux 2019 2 zynq7010 通过gmii to rgmii 连接挂外EMIO管脚上的PHY kernel启动没有识别PHY的动作 在非linux环境下测试过网络是OK的 u boot下也能够正常
  • Gcc 编译时指定宏

    gcc 编译指定宏 那在makefile里面 gcc DMACRONAME MACRODEF 或者 gcc DMACRONAME 这样就定义了预处理宏 编译的时候可选代码就会被编译进去了 举例说明 Dmacro string 等价于在头文件
  • ubuntu16.04 安装 pygraphviz

    sudo apt get install python pydot python pydot ng graphviz graphviz dev sudo pip3 install pygraphviz
  • qt自定义控件设置属性

    自定义控件设置的属性出现在ui designer控件栏 参考 https blog csdn net Mingyueruya article details 121268933 主要是靠Q PROPERTY 定义一个QString类型 名字
  • C#入门-简介

    一 入门 1 简介 1 1 C 语言介绍 C 是一种新式编程语言 不仅面向对象 还类型安全 C 是面向对象的 面向组件的编程语言 多项 C 功能有助于创建可靠且持久的应用程序 垃圾回收自动回收不可访问的未用对象所占用的内存 可以为 null
  • 中标龙芯、deepin龙芯、ubuntu证书存放路径及安装卸载说明

    中标龙芯 deepin龙芯 ubuntu证书存放路径及安装卸载说明 一 Ubuntu deepin龙芯 证书路径 etc ssl certs ca certificates crt 安装步骤 1 生成 crt后缀证书 如test crt 2
  • fiddler抓包番外————了解工具栏

    前言 作为一款功能强大的工具 Fiddler 提供了许多实用的功能和工具栏 可以帮助用户更加高效地使用它 如果您想了解 Fiddler 的工具栏及其功能 那么本篇文章就是为您准备的 在这里 我将为大家详细介绍 Fiddler 的工具栏及其各
  • ubuntu linux 教程 pdf,Ubuntu 12.04 菜鸟完全使用教程(四) PDF

    Linux公社已经在先前发布Suruibin 同学制作的 Ubuntu 12 04 菜鸟使用手册一到三系列教程 看来 Suruibin 同学是要将这套教程进行到底了 Ubuntu 12 04 菜鸟使用手册 四 已经写好了 当我们面对一件繁杂
  • 主备延迟监控

    主备延迟的模拟 文章目录 主备延迟的模拟 1 基本工具的安装 1 1 安装 percona toolkit 1 2 安装 sysbench 2 搭建延迟监控 1 基本工具的安装 1 1 安装 percona toolkit 这玩意儿工具挺全
  • Java的jar包依赖版本冲突解决

    参考 https blog csdn net weixin 38898423 article details 128178055 https blog csdn net Yal insist article details 12766998
  • Student类,包括学生姓名、性别、年龄、Java成绩。要求创建五个该类对象,输出每个学生信息,计算并输出这五个学生Java成绩的平均值, 以及计算并输出他们Ja

    一 Student类 包括学生姓名 性别 年龄 Java成绩 要求创建五个该类对象 输出每个学生信息 计算并输出这五个学生Java成绩的平均值 以及计算并输出他们Java成绩的最高分以及最低分是多少 分别是哪位同学 public class
  • 推荐使用maven shade进行打包,assembly打包会出现若干问题

    现在基本上都是采用maven来进行开发管理 我有一个需求是需要把通过maven管理的java工程打成可执行的jar包 这样也就是说必需把工程依赖的jar包也一起打包 而使用maven默认的package命令构建的jar包中只包括了工程自身的
  • c#调用c++ dll的几种类型转换

    在合作开发时 C 时常需要调用C DLL 当传递参数时时常遇到问题 尤其是传递和返回字符串是 现总结一下 分享给大家 VC 中主要字符串类型为 LPSTR LPCSTR LPCTSTR string CString LPCWSTR LPWS
  • springboot集成

    maven配置
  • conda虚拟环境下启动jupyter,jupyter不能使用该环境下的python

    文章目录 1 问题描述 2 解决方法 参考 1 问题描述 系统的python3版本为python 3 7 当前Conda环境为python 3 6 8 但不管激活虚拟环境与否 jupyter都运行在python 3 7的环境下 如下所示 在
  • 多线程事务控制

    多线程事务控制 spring无法对多线程进行事务控制 原因是 多线程底层连接数据库的时候 是使用的线程变量 TheadLocal 所以 开多少线程理论上就会建立多少个连接 每个线程有自己的连接 事务肯定不是同一个了 解决办法 我强制手动把每
  • 执行若依(ruoyi)项目

    执行若依项目 包含下载 更改配置 报错等介绍 一 成功执行演示 二 若依官网下载 三 修改相关配置 四 执行与show 一 成功执行演示 介绍1 若依框架是开源的项目且前后端分离开发 下图所示 左边是后端成功执行 右边是前端成功执行 介绍2
  • Unity 获取虚拟相机的画面

    void Fun Camera m Camera string filePath RenderTexture rt new RenderTexture Screen width Screen height 16 m Camera targe
  • 掌握Python的X篇_20_默认参、字典的展开

    文章目录 1 默认参数 2 指定实参值对应的形参 3 接受任意多个key value方式的参数 4 字典展开为key value键值对的多个参数 1 默认参数 我们可以通过 为形参指定默认值 这样函数调用过程中如果不传对应实参 就会使用默认