Python 函数返回语句中的字符串串联与逗号
我想写一个函数,它将返回一个字符串,其中包含一个int或float类型的给定参数。 例如: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
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}'