可能重复:
How can I get around declaring an unused variable in a for loop?
在Python中,命名不会使用的变量的最佳实践是什么?这确实是一个奇怪的问题,但对于我的特定情况,我有一个元组(key,value),其中我只对值感兴趣。我的用例的基本演示:
some_stuff = [("key", "value"), ("key2", "value")]
for _, value in some_stuff:
pass # TODO: do something really important with value
我注意到在Eclipse中命名变量_或加上_前缀(例如_k)不会显示未使用的变量警告,删除_前缀会引发警告,但这可能只是Eclipse中的一个奇怪的“特性”,而不是Python的最佳实践。
发布于 2012-07-15 02:12:23
我不确定这是否是Eclipse特有的东西,但我通常使用'_'
来表示我不关心的值(即,在元组中返回值,或者在for
-loops中使用索引值)。
当然,您总是可以求助于旧的备用方法,比如命名变量dummy
或ignore
。
我不确定PEP 8是否提到了这方面的任何东西,也许值得一看。
发布于 2012-07-15 02:21:03
是的,这是一个Python编码约定。最佳实践是在您不关心设置值的地方使用_
,例如当unpacking values from a tuple时。然而,有时需要它是一种迹象,表明您可能正在以非Pythonic的方式做其他事情。
_
作为前缀用于表示“私有”方法和变量,就像Phil Cooper所说的那样。使用它来表明这些方法不是其他模块可以或应该依赖的任何公共契约的一部分。
一些参考资料:
发布于 2012-07-15 02:39:17
让我们从..。
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
...
Readability counts.
Special cases aren't special enough to break the rules.
我建议选择不成问题的方法。它通常意味着某种自我解释的、简单的和可理解的东西。如果你坚持要表达not used,那么unused
或者dummy
这个名字呢?
如果可能的话,_
应该变得更隐蔽、隐藏,甚至是被忽视的候选对象吗?
对于Perl用户来说,_
不仅仅意味着未使用的东西。即使您可能不关心Perl用户,但是如果您以前从未见过_
,那么它对您意味着什么呢?
https://stackoverflow.com/questions/11486148
复制相似问题