什么(foo,bar)= foobar()Python语法是什么意思?

-4 python syntax

是什么

(foo, bar) = foobar()
Run Code Online (Sandbox Code Playgroud)

用Python表示?

除了你已经知道答案并且标题含糊不清之外,原始问题并没有在=的左边解释()

Cor*_*mer 5

这需要该函数的输出foobar(),然后将它们解包入变量foobar分别,细细tuplefoobar.

>>> def foobar():
    return 1,2

>>> foobar()
(1, 2)
>>> (foo,bar) = foobar()
>>> foo
1
>>> bar
2
Run Code Online (Sandbox Code Playgroud)

  • +1,但从技术上讲,没有创建任何元组,至少 Python 2.7 的 C 实现没有创建任何元组。“foobar”返回的元组被解包,两个值分别分配给“foo”和“bar”。 (2认同)
  • @chepner是对的。不会在“=”符号的左侧创建任何对象。仅指定名称。这里的括号只是让代码更具可读性,实际上并不是必需的。 (2认同)