gpt4 book ai didi

python - python "throw away"变量如何工作?

转载 作者:行者123 更新时间:2023-11-28 21:47:34 27 4
gpt4 key购买 nike

假设我有:

[obj for (_, obj) in stack]

此代码假定 stack 中的第一个对象是一个元组,并丢弃元组的第一部分。

如果代码不是元组而是单个对象会怎样?

它是否只忽略被丢弃的部分并拿走整个对象?

最佳答案

_ 这只是一个约定,任何其他名称的行为方式相同。

Name _ 简单地指向解包元组的第一个元素。当该名称超出范围引用时,计数器减少,没有其他名称引用“解压元组的第一个元素”,并且该对象可以安全地被垃圾收集。

因为 _ 只是约定,尝试使用 _ 解包元组的行为与任何其他名称相同 - 它会引发异常,以下之一:

a, b = 1  # TypeError: 'int' object is not iterable
a, b = () # ValueError: need more than 0 values to unpack
a, b = (1, 2, 3) # ValueError: too many values to unpack

关于python - python "throw away"变量如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36315309/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com