我正在使用一个名为get_count_and_price的库函数,它返回一个二元组(count,price)。在很多地方我同时使用时间和价格。然而,在一些地方我只需要时间或价格。所以现在,如果我只需要count,我会赋值给(count,price),而不使用价格。
这工作很好,本身不会引起任何麻烦。
然而...
我使用Eclipse和PyDev,新版本1.5会自动显示错误和警告。它显示的警告之一是未使用的变量。在上面的例子中,它将price标记为未使用。这是一种很棒的行为,我真的很感激PyDev为我做了这件事。然而,我想完全跳过对price的赋值。理想情况下,我会喜欢这样的东西:
(count,None) = get_count_and_price()
字符串
现在我们都知道,没有人不能被分配给。在这种情况下,我还能做些什么吗?
我知道我可以做一些
count = get_count_and_price()[0]
型
但我只是想问问有没有人有更好的建议
6条答案
按热度按时间yxyvkwin1#
我认为使用[0]下标没有什么错,但有时人们使用“一次性”变量_。它实际上就像任何其他变量一样(在控制台中有特殊用途),除了一些Python用户决定将其作为一种约定“一次性”。
字符串
关于PyDev的问题,你应该使用[0]下标。但是如果你真的想使用_,唯一的解决方案是禁用未使用的变量警告,如果这让你感到困扰的话。
lsmepo6l2#
使用
_
可能会有一些问题(尽管它基本上是可以的)。根据我们在工作中使用的Python风格指南,我通常会使用count, unused_price = ...
,因为pylint被配置为忽略对以unused_
开头的裸名的赋值(并在使用任何这样的裸名时发出警告!-)。但我不知道如何指示PyDev
这样做!0md85ypi3#
如果您转到Eclipse -> Preferences.窗口,您实际上可以指定PyDev应该忽略哪些未使用的变量名(我正在查看最新的PyDev 1.5.X)。
如果你去PyDev -> Editor -> Code Analysis,看看最后一个字段,上面写着“Don 't report unused variable if name starts with”
在其中输入您想要的任何名称,然后使用该名称限制PyDev将忽略未使用的警告的变量名称。
默认情况下,PyDev会隐藏名称以“dummy”、“"或“unused”开头的任何变量的未使用变量警告。
正如@TokenMacGuy在下面所说的,我建议不要只使用“”,因为它在Python的某些场景中有特殊的含义(特别是在交互式解释器中使用)。
tjjdgumg4#
我们经常这样做。
字符串
或本
型
c9x0cxw05#
我宁愿将其命名为
_price
,原因如下:_
price
。所以你的代码最终看起来像这样:
字符串
sshcrbum6#
我会去找一个亡灵巫师徽章。:)
你说你正在使用PyDev。在PyDev中(至少是最近的版本-我没有检查有多早),任何以“unused”开头的变量名都不会受到Unused Variable警告的影响。其他静态分析工具可能仍然会抱怨(pyflakes会-但它似乎在元组解包上下文中忽略了这个警告)。