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

2024-09-27 21:30:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个函数,它将返回一个字符串,其中包含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)

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


Tags: 函数字符串类型your参数returnisdef
3条回答

在第一种情况下,由于+,您正在将字符串与变量合并。你知道吗

在第二种情况下,通过将逗号放在两个元组之间来分别返回这两个值,由于始终只能返回一个值,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类型,另一个是variable类型。你知道吗

它返回(strint)的tuple

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}'。你知道吗

相关问题 更多 >

    热门问题