Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将python函数的两个不同返回值分配给两个单独的变量?_Python - Fatal编程技术网

是否可以将python函数的两个不同返回值分配给两个单独的变量?

是否可以将python函数的两个不同返回值分配给两个单独的变量?,python,Python,我试图弄清楚是否可以将python函数的两个不同返回值分配给两个单独的变量 这里是函数,它返回一个名称和城市值 def authenticate(): 现在,我想将返回值分配给两个变量,a和b def foo(): return 'bar', 42 a, b = foo() 我只知道如何分配一个值,就像这样 a=验证() (这实际上是将城市值赋给a,我猜这是因为代码中“return name”在“return city”之前) 我想做的事可能吗 Python支持元组解包 def foo(

我试图弄清楚是否可以将python函数的两个不同返回值分配给两个单独的变量

这里是函数,它返回一个名称城市

def authenticate():

现在,我想将返回值分配给两个变量,a和b

def foo():
  return 'bar', 42

a, b = foo()
我只知道如何分配一个值,就像这样

a=验证()

(这实际上是将城市值赋给a,我猜这是因为代码中“return name”在“return city”之前)


我想做的事可能吗

Python支持元组解包

def foo():
  return 'bar', 42

a, b = foo()
它甚至适用于其他序列

a, b = [c, d]
Python3.x扩展了语法

a, b, *c = (1, 2, 3, 4, 5)

您应该将
返回名称和城市
(因为“and”的用法是逻辑表达式)更改为
返回(名称,城市)
,以返回元组。现在,您可以通过元组解包来分配值:

name,city = authenticate() 

如果函数返回的值更多,则可以使用

a,b = zip(*function_calling())

不完全是复制品的复制品。这个问题是“怎么抓,怎么抓?”,那个问题是“哪个?”。