我想知道是否有一种方法可以返回多个值并将其间隔在 2 行或更多行之间。我当前的示例代码:
def exampleReturn():
x = 'Hello'
y = 'World'
return (x,y) #('Hello', 'World')
Run Code Online (Sandbox Code Playgroud)
目前,这只是在元组中返回 x 和 y。但是,我想知道是否有办法在这样的两行上返回这两个值:
exampleReturn()
>>>'Hello'
'World'
Run Code Online (Sandbox Code Playgroud)
像上面的例子一样,我希望它们作为字符串而不是元组在单独的行上,并且两行都从相同的位置开始。
您对什么是返回值存在根本性的误解。返回值是从函数返回的东西;它可以是任何类型的对象:一个字符串、一个整数、一个元组、一个列表、一些复杂的对象。没关系。
通常从不显示返回值。它们可供您在变量中捕获。
例如,str.split()拆分一个字符串并返回一个部分列表。如果你在 Python 脚本中像这样使用它,你不会得到任何东西:
'foo,bar'.split(',')
Run Code Online (Sandbox Code Playgroud)
返回值只是被扔掉了。此脚本的视觉输出将为空。
为了对返回值做一些事情,你需要将它们捕获到一个变量中,或者直接将它们传递给其他东西:
x = 'foo,bar'.split(',')
Run Code Online (Sandbox Code Playgroud)
这将在x您可以使用的变量中捕获返回的列表。
如果要显示返回值,则需要打印它:
x = 'foo,bar'.split(',')
print(x)
# or directly:
print('foo,bar'.split(','))
Run Code Online (Sandbox Code Playgroud)
这就是返回值的全部内容。
现在,在交互式控制台REPL 中,为了获得更好的反馈,控制台通常会显示您执行的事物的返回值(除非返回值为None)。这就是为什么在交互式 Python 控制台中,您会得到以下输出:
>>> 'foo,bar'.split(',')
['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)
这['foo', 'bar']是split调用的返回值,因此不会自动显示。交互式控制台将采用其他方式丢弃的返回值并显示它。但这完全是交互式控制台的一项功能,而不是我们可以影响的。我们甚至不能指望它发生。
如果你想要某个输出,那么你应该自己打印它:
>>> x = 'foo,bar'.split(',')
>>> print('\n'.join(x))
foo
bar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5257 次 |
| 最近记录: |