以下是我在3.4.3开始时所看到的2.x教程的基本代码:
以下是功能
def hello():
print ("hello")
return 1234
以下是正在使用的功能
hello()
本教程指出程序应该打印" Hello"在顶部,然后" 1234"在它的正下方,但在3.4.3中它只返回"你好"没有" 1234"。返回到底是做什么的?它存储" 1234"作为在幕后使用的字符串或什么?谢谢你的帮助!
答案 0 :(得分:1)
您不打印1234
只返回它。如果你print(str(hello()))
将打印两个
Return
是一个关键字,它基本上为方法赋值,而不是让它返回void或没有值。当您使用return关键字调用方法时,您正在访问该值,但如果您不对其执行任何操作,则不会发生任何事情。
实施例
i = 0
i = hello()
i
现在等于1234
,因为hello()
会返回它。除此之外,它还将执行方法标题和返回关键字之间的所有代码。 "你好"也将被印刷。
不会打印退回后的代码
答案 1 :(得分:0)
print()正在做什么也被称为“副作用” - 即返回东西以外的东西。为了查看函数返回的内容,您需要将此返回的结果保存在变量中,如JGerulskis所建议的那样,然后将其打印出来。简单地调用hello()只会导致打印“hello”。
答案 2 :(得分:0)
命令return,返回一个值,它被称为
所以你可以做print(str(hello()))
,它将打印返回的字符串值,在这种情况下返回一个整数,所以我们使用str()
将它转换为字符串,然后打印返回的值。
您也可以保存返回的值,例如x = hello()
您还可以将该值与if hello() == 1500:
总而言之,return执行它所说的并返回它被告知返回的值,它可以用于所有数据类型,因此可以是整数,布尔值,字符串,浮点数(或者我相信二进制值,如果我错了,请纠正我。
答案 3 :(得分:0)
在hello
函数中,代码打印“hello”,然后将结果1234
返回给调用者。如果此结果(1234)未打印到控制台,则不会添加任何其他内容,程序将继续运行而不显示返回的数字。
要显示数字( 1234 ),您必须像这样重写代码:
def hello():
print ("hello")
return 1234
print(hello())
或
def hello():
print ("hello")
return 1234
result = hello() # store the result to a temporary variable
print(result) # print the value stored in the variable