函数返回语句中的字符串连接与逗号

我想编写一个函数,该函数将返回一个字符串,其中包含类型为 int 或 float 的给定参数。例如:


def exampleFunc(variable):

    return 'Your Variable is ' + str(variable)

print(exampleFunc(3))

运行时输出:


>>> Your Variable is 3

但是在 return 语句中使用逗号时如下:


def exampleFunc(variable):

    return 'Your Variable is', variable

print(exampleFunc(3))

它输出:


>>> ('Your Variable is', 3)

你能解释一下这种行为的原因吗?


守着一只汪
浏览 103回答 3
3回答

德玛西亚99

这将返回tuple( str, int) 的 a:def exampleFunc(variable):    return 'Your Variable is', variable它与以下内容完全相同:def exampleFunc(variable):    return ('Your Variable is', variable) 另一方面,这将 连接variable到一个字符串,并返回:def exampleFunc(variable):    return 'Your Variable is ' + str(variable)这是执行此操作的正确方法,或者您可以variable使用f-strings将 插入字符串并返回:return f'Your Variable is {variable}'。

慕尼黑8549860

这应该可以帮助您了解幕后发生的事情:def exampleFunc(variable):&nbsp; &nbsp; x = 'Your Variable is ' + str(variable)&nbsp; &nbsp; y = 'Your Variable is', variable&nbsp; &nbsp; print(type(x))&nbsp; &nbsp; print(type(y))exampleFunc(3)上面代码的打印输出是:<class 'str'><class 'tuple'>因此很明显,第一种情况返回一个类型的元素str,而第二种情况返回一个类型的元素tuple。如果我们“挖掘”那个元组,那么我们会发现它由两个元素组成——一个是 type str,另一个是variable.

largeQ

在第一种情况下,由于+,您正在将字符串与变量合并。在第二种情况下,您通过将逗号放在中间来单独返回这两个,并且由于您始终只能返回一件事,python 会自动将两者放在一个元组中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python