将 Kwargs 传递给 Python 中的另一个函数

文章目录

    • Python 中的关键字参数
    • 在 Python 中使用**kwargs 调用函数
    • 使用 Python 将 kwargs 传递给另一个函数
    • 总结


Python 列出了可以传递给程序中的函数的两种类型的参数。 非关键字参数 (**args) 和关键字参数 (**kwargs)。

通常,python 函数必须使用正确数量的参数进行调用。 如果函数需要两个参数,我们应该只传递两个。

在本文中,我们将讨论如何使用关键字参数以及如何将关键字参数传递给另一个函数。


Python 中的关键字参数

通常,参数确实将信息传递给函数。 关键字参数是一种可用于将参数传递给函数的方法。

特别是使用关键字参数,我们可以使用 key = value 语法发送参数。 让我们看看下面的例子。

def keyword_function(fname,lname,age):print("first name is " + fname )keyword_function(fname= "Anne",lname= "Steaven" ,age= 27)

此示例定义了一个名为 keyword_function 的函数。 它传递三个名为 fname、lname 和 age 的参数。

因此,这些参数作为关键字参数发送,因为当函数在程序中调用时,每个参数都采用键值对。

输出:

在上面的输出中,我们打印了一条传递 fname 参数的语句。


在 Python 中使用**kwargs 调用函数

当几个参数未知时,主要可以使用关键字参数。 在这种情况下,在函数定义中的参数名称前添加两个星号 (**)。

如果函数有一个 **kwargs 参数,它接受可变数量的关键字参数作为字典。

考虑以下示例。

def animals(**kwargs):print(kwargs)animals(name1='Rabbit',name2='Dog',name3='Monkey')

上面的代码中有一个叫做 animals 的函数。 它有一个名为 **kwargs 的参数,该函数调用以三个参数作为关键字参数。

输出:

在 Python 中使用 **kwargs 调用函数

我们可以将结果视为具有两对值和键的字典。 kwargs 参数是约定俗成的。

因此,作为参数名称,我们可以使用任何有意义的名称。 同样,这就是他们使用 **kwargs 参数调用函数的方式。


使用 Python 将 kwargs 传递给另一个函数

代码:

def info(**):x = dict(name="shen",age=27,degree="SE")pass_func(**x)def pass_func(**kwargs):for i in kwargs:print(i,kwargs[i])
info()

使用上面的代码,我们打印有关此人的信息,例如姓名、年龄和学位。 该程序将 kwargs 传递给另一个函数,该函数包含声明 dict 方法的变量 x。

不带任何参数的示例定义函数信息。 函数 info 声明了一个变量 x ,它定义了三个键值对,通常,键值对在 Python 中定义为字典类型。

因此,dict 方法指定了一对键和值。 由于 kwargs unpack arguments 被声明为字典类型,我们可以在这个例子中使用 dict 方法。

然后我们有另一个名为 pass_func 的函数,它传递 kwargs 参数。 这个函数包括一个打印 kwargs 参数的 for 循环,之后,我们可以将 kwargs 函数传递给 info 函数来打印 x。

因此,我们使用 x 变量的 kwargs 参数调用 pass_func。 最后,我们在pass_func函数中调用info函数。

输出:

使用 Python 将 kwargs 传递给另一个函数


总结

在整篇文章中,我们专注于如何将 kwargs 传递给另一个函数。 kwargs 参数可以获得多个变量,每个参数没有定义的参数。

将 kwargs 参数传递给函数时,它必须使用双星号和参数名称 **kwargs。 将 kwargs 传递给另一个函数时,首先创建一个带有两个星号的参数,然后我们可以将该函数传递给另一个函数作为我们的目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/29844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华秋亮相2023世界汽车制造技术暨智能装备博览会,推动汽车产业快速发展

洞悉全球汽车产业格局,前瞻业界未来趋势。2023年7月27日-30日,时隔三年,重聚武汉国际博览中心,2023世界汽车制造技术暨智能装备博览会盛大开幕。深耕汽车行业多年的世界汽车制造技术暨智能装备博览会,掀起行业热点新高…

死磕Android性能优化,卡顿原因与优化方案

随着移动互联网的快速发展,Android应用的性能优化变得尤为重要。卡顿是用户体验中最常见的问题之一,它会导致应用的响应变慢、界面不流畅,甚至影响用户的使用体验。因此,我们需要深入了解卡顿问题的原因,并寻找相应的解…

Java中ArrayList常用方法的学习

Java中ArrayList常用方法的学习 需求分析代码实现小结Time 需求分析 ArrayList集合的常用方法学习 代码实现 java.util.ArrayList;/*** Author:LQ* Description:* Date:Created in 16:45 2023/8/9*/ public class ListTest {public static void main(String[] args) {ArrayLis…

WMS系列:层级树的surface 的创建

WMS 创建的surface 与 surfaceflinger 创建的Layer 是一一对应的,只不过可能是创建不同的 Layer 1. DefaultTaskDisplayArea 对应的surface 的创建 DefaultTaskDisplayArea 的调用栈如下,是在系统进程启动服务的时候,去创建对应的SurfaceCont…

Flutter:屏幕适配

flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。 flutter_screenutil提供了一些用于处理尺寸和间距的方法,使得开发者可以根据设备的屏幕尺寸和密度…

Segment Anything(SAM) 计算过程

给定输入图像 I ∈ R 3 H W I \in R^{3 \times H \times W} I∈R3HW。给定需要的prompts: M ∈ R 1 H W M \in R^{1 \times H \times W} M∈R1HW,代表图片的前背景信息。 P ∈ R N 2 P \in R^{N \times 2} P∈RN2,其中 N N N 是点的个数…

vscode 搭建STM32开发环境

1.需要软件 1.1 vscode 1.2 STM32CubeMX,这个不是必须的,我是为了方便生成STM32代码 2.vscode配置 2.1安装keil Assistant 2.2配置keil Assistant 3.STMCUBE生成个STM32代码 ,如果有自己的代码可以忽略 4.代码添加到vscode,并…

模拟出栈的所有顺序(dfs+回溯)

题目: 已知某一个字母序列,把序列中的字母按出现顺序压入一个栈,在入栈的任意过程中,允许栈中的字母出栈,求所有可能的出栈顺序 示例: 输入abc 输出abc、acb、bac、bca、cba 代码如下 #define _CRT_SECURE…

JAVA集合框架 一:Collection(LIst,Set)和Iterator(迭代器)

目录 一、Java 集合框架体系 1.Collection接口:用于存储一个一个的数据,也称单列数据集合(single)。 2.Map接口:用于存储具有映射关系“key-value对”的集合(couple) 3.Iterator接口&#…

【ChatGPT 指令大全】怎么使用ChatGPT来辅助学习英语

在当今全球化的社会中,英语已成为一门世界性的语言,掌握良好的英语技能对个人和职业发展至关重要。而借助人工智能的力量,ChatGPT为学习者提供了一个有价值的工具,可以在学习过程中提供即时的帮助和反馈。在本文中,我们…

Android 视频播放器dkplayer

列表播放如图所示: 一、依赖 //添加RecyclerView的依赖包implementation androidx.recyclerview:recyclerview:1.2.1// 异步加载图片依赖implementation com.squareup.picasso:picasso:2.5.2// 上拉刷新、下来加载依赖implementation com.scwang.smartrefresh:Smart…

Kubernetes工作原理

一、案例概述 传统部署时代: 早期是在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配出现问题。例如:如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况…

ffplay简介

本文为相关课程的学习记录,相关分析均来源于课程的讲解,主要学习音视频相关的操作,对字幕的处理不做分析 ffplay播放器的意义 ffplay.c是FFmpeg源码⾃带的播放器,调⽤FFmpeg和SDL API实现⼀个⾮常有⽤的播放器。 ffplay实现了播…

Spring Data学习笔记Day01-SpringData入门

Spring Data基本介绍 目录 Spring Data Redis 官方API参考手册!★ Spring Data的价值★ Spring Data及其子项目★ 强大的Spring Data★ Repository接口★ 具体Repository接口★ Spring Data JPA开发★ Spring Boot如何选择DataSource★ 数据源相关配置★ 配置第三方…

爬虫014_文件操作_打开关闭_读写_序列化_反序列化---python工作笔记033

报错,没有指定路径,没有指定路径无法创建文件 这样可以在当前目录下创建一个可写的文件 可以看到找到刚才生成的文件,看看内容

Android进阶之SeekBar动态显示进度

SeekBar 在开发中并不陌生,默认的SeekBar是不显示进度的,当然用吐司或者文案在旁边实时显示也是可以的,那能不能移动的时候才显示,默认不显示呢,当然网上花哨的三方工具类太多了,但是我只是单纯的想在SeekBar的基础上去添加一个可以跟随移动显示的气泡而…

虹科新闻 | 虹科与Power-MI正式建立合作伙伴关系

近日,虹科与Power-MI正式建立合作伙伴关系,双方就工业预测性维护领域进行深入的交流与合作,未来将共同致力于为亚洲市场提供完整的、更高质量的预测性维护解决方案,解决亚洲客户的工业自动化挑战。 虹科与Power-MI都表示十分期待…

MySQL的查询方法

单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 要求: 1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、…

【MySql】RR有幻读问题吗?MVCC能否解决幻读?

文章目录 前言RR 隔离级别MVCCRR MVCC 有幻读问题吗?幻读问题演示如何彻底解决幻读?小结 前言 幻读是 MySQL 中一个非常普遍,且面试中经常被问到的问题,如果你还搞不懂什么是幻读?什么是 MVCC?以及 MySQL…

RabbitMQ 发布确认机制

发布确认模式是避免消息由生产者到RabbitMQ消息丢失的一种手段 发布确认模式 原理说明实现方式开启confirm(确认)模式阻塞确认异步确认 总结 原理说明 生产者通过调用channel.confirmSelect方法将信道设置为confirm模式,之后RabbitMQ会返回Co…