当前位置:首页 > 技术分析 > 正文内容

Python中星号(*)的两种主要用法:*args 和 **kwargs

1、当放在函数参数前面时,单星号* 表示 "所有位置参数",也就是说,它可以接收任意数量的位置参数。比如:

def func(*args):
	for arg in args:
		print(arg)
func(1, 2, 3, 4) # 输出:1 2 3 4

例如 Tensor(*sizes) ,其中*sizes表示任意数量的尺寸参数,意味着可以创建任意维度的张量。

x = torch.Tensor(2, 3) # 创建一个2x3的张量
y = torch.Tensor(2, 3, 4) # 创建一个2x3x4的张量
z = torch.Tensor(2, 3, 4, 5) # 创建一个2x3x4x5的张量

2、双星号**kwargs,它用于处理传递给函数的关键字参数,也就是以键值对形式提供的参数。当**放在函数参数前面时,它表示"所有关键字参数"。这意味着它会接收一个字典,其中键是参数的名称,值是对应的参数值。

def func(**kwargs):
	for key, value in kwargs.items():
		print(f"{key}: {value}")
func(name="John", age=25) # 输出:name: John age: 25

在这个例子中,函数func接收了两个关键字参数(name和age),并将它们打印出来。注意,这里的参数是以键值对的形式提供的,而不是位置参数。总的来说,*args用于处理位置参数,而**kwargs用于处理关键字参数。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4705.html

标签: kwargs.get
分享给朋友:

“Python中星号(*)的两种主要用法:*args 和 **kwargs” 的相关文章

gitlab常用命令大全

GitLab常用命令大全GitLab是一个基于Git的Web平台,它不仅提供代码托管,还集成了持续集成/持续交付(CI/CD)、代码审查、问题追踪等功能。在日常使用GitLab的过程中,我们常常需要使用一系列命令来管理代码仓库、处理分支和标签等。以下是GitLab常用的Git命令大全,并附上详细解释...

git的几种分支模式

编写代码,是软件开发交付过程的起点,发布上线,是开发工作完成的终点。代码分支模式贯穿了开发、集成和发布的整个过程,是工程师们最亲切的小伙伴。那如何根据自身的业务特点和团队规模来选择适合的分支模式呢?本文分享几种主流 Git 分支模式的流程及特点,并给出选择建议。分支的目的是隔离,但多一个分支也意味着...

我的VIM配置

写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname \_vimrc)。VIM除了自身可配置项外,还可插件扩展。VIM的插件一般用vundle或vim-plug来管理,但我力求简单,不打算装太...

美国民众负债累累 但今年假期消费者支出仍将创下新高

智通财经APP获悉,在迎接假期之际,许多美国人已经背负了创纪录的信用卡债务。然而,今年假期消费者支出仍将创下新高。根据美国零售联合会(NRF)上周发布的报告,预计今年11月1日至12月31日期间的消费总额将达到创纪录的9795亿至9890亿美元之间。NRF首席经济学家Jack Kleinhenz表示...

再来一波黑科技工具,低调使用

静读天下静读天下是一个特别优秀的电子书阅读器。它上面有多个在线书库,像古登堡计划,很多种优秀的书杂志,都可以下载来阅读。它还能智能识别章节功能,还支持外置的语音阅读功能。它支持多种文本格式,比如说txt,pdf,epub,mobi等等。为了便于阅读它还有10 种配色方式,还有夜间模式。不过免费版有广...

三、Uni-app + vue3 页面如何跳转及传参?

Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。uni-a...