python 3.4.3基本返回问题

时间:2015-05-09 19:42:03

标签: python return

以下是我在3.4.3开始时所看到的2.x教程的基本代码:

以下是功能

def hello():
    print ("hello")
    return 1234

以下是正在使用的功能

hello()

本教程指出程序应该打印" Hello"在顶部,然后" 1234"在它的正下方,但在3.4.3中它只返回"你好"没有" 1234"。返回到底是做什么的?它存储" 1234"作为在幕后使用的字符串或什么?谢谢你的帮助!

4 个答案:

答案 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