为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着一只汪 2022-06-28 15:29:11
我想编写一个函数,该函数将返回一个字符串,其中包含类型为 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', variableprint(exampleFunc(3))它输出:>>> ('Your Variable is', 3)你能解释一下这种行为的原因吗?
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

这将返回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}'。


查看完整回答
反对 回复 2022-06-28
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

这应该可以帮助您了解幕后发生的事情:


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。


如果我们“挖掘”那个元组,那么我们会发现它由两个元素组成——一个是 type str,另一个是variable.


查看完整回答
反对 回复 2022-06-28
?
largeQ

TA贡献2039条经验 获得超7个赞

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

在第二种情况下,您通过将逗号放在中间来单独返回这两个,并且由于您始终只能返回一件事,python 会自动将两者放在一个元组中。


查看完整回答
反对 回复 2022-06-28
  • 3 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信