分配给无

时间:2010-03-26 11:29:31

标签: python

我有一个返回3个数字的函数,例如:

def numbers():
   return 1,2,3

通常我会调用此函数来接收所有三个返回的数字,例如:

a, b, c = numbers()

但是,我有一个案例,其中我只需要第一个返回的号码。 我尝试使用:

a, None, None = numbers()

但我收到“SyntaxError:赋值给无”。

我当然知道,我可以使用我提到的第一个选项,然后根本不使用“b”和“c”变量。然而,这似乎是两个变量的“浪费”,感觉就像错误的编程。

3 个答案:

答案 0 :(得分:22)

a, _, _ = numbers()

是一种pythonic方式来做到这一点。在Python 3中,您还可以使用:

a, *_ = numbers()

澄清_是Python中的普通变量名,除了它通常用于指代非重要变量。

答案 1 :(得分:9)

另一种方式当然是a=numbers()[0],如果你不想声明另一个变量。尽管如此,我通常使用_我自己。

答案 2 :(得分:0)

我的方式:

a = numbers()[0]

看到返回的类型是一个元组,您可以通过索引访问它。

此解决方案使您不必声明未使用/无意义的变量,例如" _"。大多数人都不介意使用未使用的变量,但是我的pylint设置为警告我可以指示可能未使用的代码等等。