试着用python把我的头绕在*args上

2024-09-21 03:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在阅读Python中的*args**kwargs,并在REPL中进行实验:

varX, *varY = [99, 100, 101]

我原以为varX会是[99, 100, 101],但事实并非如此。相反,我得到的是:

print(varX)
# 99

嗯?那么什么是varY?你知道吗

print(varY)
# [100, 101]

获取列表是有意义的,但我认为它将有三个值,而不是两个。你知道吗

print(*varY)
# 100 101

从以前发生的事情来看,至少这对我来说是有意义的。所以我的大问题是为什么Python(3.6)以这种方式进行原始赋值?你知道吗


Tags: 列表方式argsrepl事情kwargs事实意义
1条回答
网友
1楼 · 发布于 2024-09-21 03:21:26

以扩展@user3483203试图表达的内容-并举例说明。 您可以将元组打包成单个变量,也可以将元组解包成多个变量。你知道吗

假设您有t = (1, 2, 3, 4, 5)您可以通过v, w, x, y, z = t来解压它,这将把每个相关索引分配给返回变量so v = 1, w = 2,依此类推。这称为解包“您正在将t解包到v, w, x, y, z。也可以将变量打包在一起。假设你有v = 1, w = 2, x = 3, y = 4, z = 5你可以做以下t = [v, w, x, y, z]。你知道吗

这只是包装和开箱的简要说明。你知道吗

相关问题 更多 >

    热门问题