首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python中的walrus运算符下划线变量

用Python中的walrus运算符下划线变量
EN

Stack Overflow用户
提问于 2022-06-16 12:40:52
回答 3查看 89关注 0票数 2

在Python中,变量名_ (下划线)经常用于丢弃变量(永远不会使用的变量,因此不需要正确的名称)。

使用walrus运算符:=,我发现需要一个相当短暂的变量(只用于一行代码)。我想知道在这种情况下使用_是否合理,或者对阅读代码的人来说是否会感到困惑?

示例:

代码语言:javascript
复制
a = (dummy := pd.Series([1, 2, 3, 4, 5]))[dummy > 2]

在这里,熊猫系列被创建,并立即过滤。在我看来,dummy这个名字可以用_代替

代码语言:javascript
复制
a = (_ := pd.Series([1, 2, 3, 4, 5]))[_ > 2]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-16 13:33:04

您正在使用变量dummy来筛选该系列。因此,不要用_替换它。

票数 1
EN

Stack Overflow用户

发布于 2022-06-16 13:11:03

我认为使用下划线是不够合理的,因为它已经在代码中使用了两次。

即使不再使用虚拟变量,它现在在代码中的可读性也很低。

票数 0
EN

Stack Overflow用户

发布于 2022-06-17 13:15:04

我的观点和男人的不同。_作为一个名称并不是特别的,它是一个惯例,主要是让指针忽略“未使用的变量”警告。所以它可以像你建议的那样使用。一个有点复杂的例子:

代码语言:javascript
复制
>>> [_ := i ** 2
...  for i in (6, 5, 4, 3, 2)
... ][_]
4

所以你绝对可以在你的例子中使用下划线。你是否应该,这是一个个人偏好的问题。前面两个答案的作者似乎不喜欢这样的用法,而我个人则倾向于支持这种用法。

在我看来,它表明这个变量不是在代码行之外使用的。它在视觉上足够突出,可以读懂这一行,而只需要一个字符。一些指针报告一个字母的变量名,因此_在那里有一个优势。

这可能会让那些不习惯这样使用下划线的人感到惊讶,但它仍然是可读性和直觉性的,不足以让人感到困惑。

但话又说回来,这是个人偏好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72646039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档