我正在阅读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)以这种方式进行原始赋值?你知道吗
以扩展@user3483203试图表达的内容-并举例说明。 您可以将元组打包成单个变量,也可以将元组解包成多个变量。你知道吗
假设您有
t = (1, 2, 3, 4, 5)
您可以通过v, w, x, y, z = t
来解压它,这将把每个相关索引分配给返回变量sov = 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]
。你知道吗这只是包装和开箱的简要说明。你知道吗
相关问题 更多 >
编程相关推荐