在Python中,变量名_ (下划线)经常用于丢弃变量(永远不会使用的变量,因此不需要正确的名称)。
使用walrus运算符:=,我发现需要一个相当短暂的变量(只用于一行代码)。我想知道在这种情况下使用_是否合理,或者对阅读代码的人来说是否会感到困惑?
示例:
a = (dummy := pd.Series([1, 2, 3, 4, 5]))[dummy > 2]在这里,熊猫系列被创建,并立即过滤。在我看来,dummy这个名字可以用_代替
a = (_ := pd.Series([1, 2, 3, 4, 5]))[_ > 2]发布于 2022-06-16 13:33:04
您正在使用变量dummy来筛选该系列。因此,不要用_替换它。
发布于 2022-06-16 13:11:03
我认为使用下划线是不够合理的,因为它已经在代码中使用了两次。
即使不再使用虚拟变量,它现在在代码中的可读性也很低。
发布于 2022-06-17 13:15:04
我的观点和男人的不同。_作为一个名称并不是特别的,它是一个惯例,主要是让指针忽略“未使用的变量”警告。所以它可以像你建议的那样使用。一个有点复杂的例子:
>>> [_ := i ** 2
... for i in (6, 5, 4, 3, 2)
... ][_]
4所以你绝对可以在你的例子中使用下划线。你是否应该,这是一个个人偏好的问题。前面两个答案的作者似乎不喜欢这样的用法,而我个人则倾向于支持这种用法。
在我看来,它表明这个变量不是在代码行之外使用的。它在视觉上足够突出,可以读懂这一行,而只需要一个字符。一些指针报告一个字母的变量名,因此_在那里有一个优势。
这可能会让那些不习惯这样使用下划线的人感到惊讶,但它仍然是可读性和直觉性的,不足以让人感到困惑。
但话又说回来,这是个人偏好。
https://stackoverflow.com/questions/72646039
复制相似问题