Python 函数返回语句中的字符串串联与逗号

Python 函数返回语句中的字符串串联与逗号,python,Python,我想写一个函数,它将返回一个字符串,其中包含一个int或float类型的给定参数。 例如: def exampleFunc(variable): return 'Your Variable is ' + str(variable) print(exampleFunc(3)) 运行时,输出: >>> Your Variable is 3 >>> ('Your Variable is', 3) 但在return语句中使用逗号时,如下所示: def e

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

def exampleFunc(variable):
    return 'Your Variable is ' + str(variable)
print(exampleFunc(3))
运行时,输出:

>>> Your Variable is 3
>>> ('Your Variable is', 3)
但在return语句中使用逗号时,如下所示:

def exampleFunc(variable):
    return 'Your Variable is', variable
print(exampleFunc(3))
它输出:

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

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

这将返回一个
元组(
str
int
):

它与以下内容完全相同:

def exampleFunc(variable):
    return ('Your Variable is', variable)

另一方面,它将
变量
连接到一个字符串,并返回:

def exampleFunc(variable):
    return 'Your Variable is ' + str(variable)

这是一种正确的方法,或者您可以将
变量
插入字符串中,并返回:
return f'Your variable is{variable}
这将返回一个
元组(
str
int
):

它与以下内容完全相同:

def exampleFunc(variable):
    return ('Your Variable is', variable)

另一方面,它将
变量
连接到一个字符串,并返回:

def exampleFunc(variable):
    return 'Your Variable is ' + str(variable)

这是一种正确的方法,或者您可以将
变量
插入字符串中,并返回:
return f'Your variable is{variable}
在第一种情况下,由于+,您将字符串与变量合并


在第二种情况下,通过将逗号放在中间来分别返回这两个值,并且由于始终只能返回一个值,python会自动将这两个值都放在元组中。

在第一种情况下,由于+,您将字符串与变量合并


在第二种情况下,通过将逗号放在中间来分别返回这两个值,并且由于始终只能返回一个值,python会自动将这两个值都放在一个元组中。

这将有助于您了解幕后的情况:

def exampleFunc(variable):
    x = 'Your Variable is ' + str(variable)
    y = 'Your Variable is', variable
    print(type(x))
    print(type(y))

exampleFunc(3)
上述代码的打印输出为:

<class 'str'>
<class 'tuple'>

因此很明显,第一种情况返回类型为
str
的元素,第二种情况返回类型为
tuple
的元素


如果我们“挖掘”该元组,那么我们将发现它由两个元素组成——一个是
str
类型,另一个是
变量类型,这将有助于您了解幕后的情况:

def exampleFunc(variable):
    x = 'Your Variable is ' + str(variable)
    y = 'Your Variable is', variable
    print(type(x))
    print(type(y))

exampleFunc(3)
上述代码的打印输出为:

<class 'str'>
<class 'tuple'>

因此很明显,第一种情况返回类型为
str
的元素,第二种情况返回类型为
tuple
的元素


如果我们“挖掘”这个元组,那么我们会发现它由两个元素组成-一个是
str
类型,另一个是
变量类型

您将返回两个值作为元组,因此它会打印元组。这类似于您刚才说的
print(('Your Variable is',3))
您将返回2个值作为元组,因此它将打印元组。这类似于您刚才说的
print(('Your Variable is',3))
这个元组可以被键入字符串吗?还是我必须使用字符串连接?@Elbasel没有将元组类型转换为字符串这样的事情。您应该像以前一样简单地使用连接,或者您也可以使用f-strings:
return f'Your Variable is{Variable}
这个元组可以被类型转换为字符串吗?还是我必须使用字符串连接?@Elbasel没有将元组类型转换为字符串这样的事情。您应该像以前一样简单地使用串联,或者您可以选择使用f字符串:
return f'Your Variable is{Variable}'