PTA - 接收n个关键字参数

news2024/9/22 17:24:16

接收n个以关键字形式传入的参数,按格式输出。

函数接口定义:

def print_info (**keyargs)

提示:keyargs为可变参数,其可接受若干个关键字形式的实参值,并将接收到的值组装为一个字典。

裁判测试程序样例:

/* 请在这里填写答案 */

print_info(no=2001001, age=25, location='陕西')
print_info(no=2001002, age=26, location='湖北', tel=123456)

输入样例:

输出样例:

在这里给出相应的输出。例如:

no->2001001
age->25
location->陕西
no->2001002
age->26
location->湖北
tel->123456

我的答案:

三种写法的区别仅仅在于输出方式的不同

写法一:

def print_info (**keyargs):
    for i,val in keyargs.items():
        print(i, end = "->")
        print(val)

写法二:

def print_info(**keyargs):
    for k, v in keyargs.items():
        print(f"{k}->{v}")

写法三 :

def print_info(**keyargs):
    for key, value in keyargs.items():
        print("%s->%s" % (key, value))

测试结果:

 

说明:

说明一下*keyargs (单星号)和**keyargs (双星号)的区别

1.*keyargs (单星号):
  • 用于收集任意数量的位置参数(positional arguments)到一个元组中。
  • 通常命名为 *args,但可以使用任何有效的变量名。
  • 在函数内部,它是一个元组(tuple)。

例如:

def func(*args):
    for arg in args:
        print(arg)

func(1, 2, 3)  # 输出:1, 2, 3

 

2.**keyargs (双星号):
  • 用于收集任意数量的关键字参数(keyword arguments)到一个字典中。
  • 通常命名为 **kwargs,但可以使用任何有效的变量名。
  • 在函数内部,它是一个字典(dict)。

例如:

def func(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

func(name="Alice", age=30)  # 输出:name: Alice, age: 30

 

3.主要区别:
  1. 参数类型:

    • *args 收集位置参数
    • **kwargs 收集关键字参数
  2. 结果数据结构:

    • *args 生成一个元组
    • **kwargs 生成一个字典
  3. 使用方式:

    • *args 允许你传递任意数量的位置参数
    • **kwargs 允许你传递任意数量的关键字参数
  4. 在函数调用中:

    • * 用于解包列表或元组为单独的位置参数
    • ** 用于解包字典为关键字参数

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

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

相关文章

Linux相关命令和安装软件

1.Linux命令 1.1 搜索文件或目录的命令 find 目录 -name "名称" 注意:名称可以使用通配符 *1.2 查看所有进程命令 ps -ef1.3 查看指定内容在文件中 grep "内容" 文件名1.4 管道符 | 1.5 查看端口号 netstat -tunlp | grep 端口号option说明…

框架设计MVVM

重点&#xff1a; 1.viewmodel 包含model 2.view包含viewmodel,通过驱动viewmodel去控制model的数据和业务逻辑 // Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector>using namespace std;#p…

Java - 程序员面试笔记记录 实现 - Part5

7.1 Struts 优点&#xff1a; 1. MVC模式实现了表现与逻辑的分离&#xff0c;扩展性高。 2. 提供页面导航功能&#xff0c;通过配置文件建立整个系统各部分之间的联系。 3. 集成了一些常用处理功能。 缺点&#xff1a; 1. 仅面向 Web 应用程序开发 2. Action 非线程安全…

项目方案:视频图像结构化分析技术在车辆和人体检测中的应用方案(视频公共安全领域的解决方案)

目录 一、视频结构化分析技术介绍 1、概述 2、定义 3、核心环节 4、应用领域 二、视频中车辆和人的结构化 1、需求 2、信息内容 3、功能说明 &#xff08;1&#xff09;信息智能识别功能 &#xff08;2&#xff09;智能检索功能 &#xff08;3&#xff09;数据统计…

鸿蒙语言基础类库:【@system.configuration (应用配置)】

应用配置 说明&#xff1a; 从API Version 7 开始&#xff0c;该接口不再维护&#xff0c;推荐使用新接口[ohos.i18n]和[ohos.intl]。本模块首批接口从API version 3开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import configurati…

LeetCode分发糖果(贪心思路分析)

题目描述 贪心思路 思路及解法 我们可以将「相邻的孩子中&#xff0c;评分高的孩子必须获得更多的糖果」这句话拆分为两个规则&#xff0c;分别处理。 左规则&#xff1a;当 ratings[i−1]<ratings[i] 时&#xff0c;i 号学生的糖果数量将比 i−1 号孩子的糖果数量多。 …

新书速览|Vue.js 3.x+Express全栈开发:从0到1打造商城项目

《Vue.js 3.xExpress全栈开发&#xff1a;从0到1打造商城项目》 1 本书内容 《Vue.js 3.xExpress全栈开发 : 从0到1打造商城项目》是一本详尽的全栈开发教程&#xff0c;旨在通过Vue.js和Express框架引导读者从零开始构建一个完整的电商项目。内容覆盖电商项目的基本结构&…

(c++)virtual关键字的作用,多态的原理(详细)

1.viirtual修饰的两种函数 virtual 修饰的函数有两种&#xff0c;一个是虚函数&#xff0c;一个是纯虚函数。 2.虚函数与纯虚函数的异同之处 1.虚函数与纯虚函数的相同之处 虚函数和纯虚函数都重写的一种&#xff0c;什么是重写呢&#xff1f;重写是指在子类中写和父类中返…

2024-07-15 Unity插件 Odin Inspector3 —— Button Attributes

文章目录 1 说明2 Button 特性2.1 Button2.2 ButtonGroup2.3 EnumPaging2.4 EnumToggleButtons2.5 InlineButton2.6 ResponsiveButtonGroup 1 说明 ​ 本文介绍 Odin Inspector 插件中有关 Button 特性的使用方法。 2 Button 特性 2.1 Button 依据方法&#xff0c;在 Inspec…

使用DHCP动态管理主机地址

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、动态主机地址管理协议 动态主机配置协议&#xff08;DHCP&#xff09;是一种基于UDP协议且仅限于在局域网内部使用的网络协议&#xff0c;主要用…

书生大模型第一关-Linux基础知识

1.闯关任务&#xff1a;关任务 完成SSH连接与端口映射并运行hello_world.py 首先SSH 命令连接进行转发 ssh -p 33704 rootssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyCheckingno在远程服务器上&#xff08;开发机&#xff09;运…

操作系统杂项(二)

目录 一、简述GDB常见的调试命令&#xff0c;什么是条件断点&#xff0c;多进程下如何调试 1、GDB调试 2、命令格式 3、条件断点 4、多进程下如何调试 二、简述什么是“大端小端”及如何判断 1、小端模式 2、大端模式 3、如何判断 三、简述进程调度算法有哪些 1、分…

iSCSI 网络存储服务部署

一、介绍 iSCSI &#xff08;Internet Small Computer System Interface&#xff09;&#xff0c;互联网小型计算机系统接口&#xff1b;iSCSI 是SCSI接口 与以太网技术相结合的新型存储技术&#xff0c;属于ip san的一种&#xff0c;可以用来在网络中传输 SCSI 接口的命令和数…

用户进入网站之后看一眼就跳走,你知道原因吗?

用户进入网站后立即离开的原因可能有很多&#xff0c;以下是一些可能的原因和相应的规避办法&#xff1a; 页面加载速度慢&#xff1a; 如果网站加载速度过慢&#xff0c;用户可能会感到不耐烦并离开。可以通过优化网站的代码和资源&#xff0c;使用浏览器缓存、CDN加速等技术…

Docker缩小镜像体积与搭建LNMP架构

镜像加速地址 {"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live"] } daemon.json 配置文件里面 bip 配置项中可以配置docker 的网段 {"graph": "/data/docker", #数据目录&#xff0…

QTreeWidget

一、基本要点 1、QTreeWidgetItem 是 Qt 开发框架中的一个重要组件&#xff0c;它主要用于表示树形视图中的节点。在 QTreeWidget 这样的控件中&#xff0c;每个节点都是 QTreeWidgetItem 的实例&#xff0c;可以包含文本、图标以及其他数据。 2、connect 是Qt中的一个重要函…

Crackmapexec一键检测网络环境(KALI工具系列四十四)

目录 1、KALI LINUX 简介 2、Crackmapexec工具介绍 3、信息收集 3.1 目标IP 3.2 kali的IP 4、操作步骤 4.1 帮助命令 4.2 扫描网段 4.3 验证访问 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版 &#xff0c;广泛用于网络安全社区。它…

蓝卓油气行业解决方案

我国是全球最大的能源消费国&#xff0c;保障国家能源安全是我国能源发展的首要任务&#xff0c;油气作为我国能源体系的重要组成部分&#xff0c;是支撑我国工业和经济社会发展的基础和“压舱石&#xff0c;也是必须筑牢的能源安全底线。 蓝卓根据油气田行业发展趋势&#xf…

Linux中六种常见工具

一、软件包管理器yum 1、yum概念 yum是一个软件下载安装管理的客户端&#xff0c;例如手机上的小米一应用商城。 那为什么我们推荐在Linux中用yum下载软件呢&#xff1f; 其实软件的安装有三种方式&#xff1a;源代码安装&#xff0c;rpm包安装&#xff0c;yum安装。 a、源…

STM32 HRTIM生成PWM时遇到无法输出PWM脉冲波形问题

在使用HRTIM生成PWM时&#xff0c;当把周期寄存器更新的设置放到while循环中时&#xff0c;无法输出PWM脉冲波形&#xff0c;即使增加计数延时也无法输出&#xff0c;最终只能放到中断函数中执行后期寄存器值更新才能够生成PWM脉冲波形。