我有一个返回3个数字的函数,例如:
def numbers():
return 1,2,3
通常我会调用此函数来接收所有三个返回的数字,例如:
a, b, c = numbers()
但是,我有一个案例,其中我只需要第一个返回的号码。 我尝试使用:
a, None, None = numbers()
但我收到“SyntaxError:赋值给无”。
我当然知道,我可以使用我提到的第一个选项,然后根本不使用“b”和“c”变量。然而,这似乎是两个变量的“浪费”,感觉就像错误的编程。
答案 0 :(得分:22)
a, _, _ = numbers()
是一种pythonic方式来做到这一点。在Python 3中,您还可以使用:
a, *_ = numbers()
澄清_
是Python中的普通变量名,除了它通常用于指代非重要变量。
答案 1 :(得分:9)
另一种方式当然是a=numbers()[0]
,如果你不想声明另一个变量。尽管如此,我通常使用_我自己。
答案 2 :(得分:0)
我的方式:
a = numbers()[0]
看到返回的类型是一个元组,您可以通过索引访问它。
此解决方案使您不必声明未使用/无意义的变量,例如" _"。大多数人都不介意使用未使用的变量,但是我的pylint设置为警告我可以指示可能未使用的代码等等。