一行中两个函数调用之间的逗号

问题描述 投票:0回答:1

我在做一个python项目的时候,注意到了下面这段代码。

plt.xticks([]), plt.yticks([])

我从来没有见过这样的东西 因为我以前认为一行只能放一个函数。这是什么意思?这样做和像下面这样把函数放在不同的行上有什么区别吗?

plt.xticks([])
plt.yticks([])
python matplotlib
1个回答
1
投票

简单的回答是。

对结果来说没有区别。

这只是一个风格的问题。


1
投票

区别在于你想用函数调用返回的值做什么。

下面是一个Python REPL课程中的例子。首先我们定义一些函数。

In [1]: def foo():
   ...:     return 'FOO'
   ...: def bar():
   ...:     return 'BAR'
   ...:

然后我们调用它们,用逗号隔开。这些函数执行并返回值。逗号有点像一个创建元组的运算符。似乎逗号并不像其它语言那样被严格地认为是一个运算符;相反,逗号只是 句法 的赋值语句。

In [2]: foo(), bar()
Out[2]: ('FOO', 'BAR')

你可以通过键入外括号更明确地做同样的事情。

In [3]: (foo(), bar())
Out[3]: ('FOO', 'BAR')
© www.soinside.com 2019 - 2024. All rights reserved.