返回函数的输出与打印函数有什么不同?

返回函数的输出与打印函数有什么不同?

在我以前的问题安德鲁·贾菲(Andrew Jaffe)写道:

除了所有其他提示和提示之外,我认为您缺少一些关键的东西:您的函数实际上需要返回一些内容。当你创造autoparts()splittext(),其思想是,这将是一个函数,您可以调用,它可以(而且应该)返回一些东西。一旦计算出希望函数具有的输出,则需要将其放入return声明。

def autoparts():
    parts_dict = {}
    list_of_parts = open('list_of_parts.txt', 'r')

    for line in list_of_parts:
        k, v = line.split()
        parts_dict[k] = v    print(parts_dict)>>> autoparts(){'part A': 1, 'part B': 2, ...}

此函数创建字典,但不返回某些内容。但是,因为我添加了print,则在运行该函数时显示该函数的输出。.之间的区别是什么?return做某事print开它?


LEATH
浏览 731回答 3
3回答

桃花长相依

print语句将向用户输出一个对象。返回语句将允许将字典分配给变量。一旦函数完成.>>> def foo():...     print "Hello, world!"... >>> a = foo()Hello, world!>>> a>>> def foo():...     return "Hello, world!"...  >>> a = foo()>>> a'Hello, world!'或者在返回字典时:>>> def foo():...     print {'a' : 1, 'b' : 2}... >>> a = foo(){'a': 1, 'b': 2}>>> a>>> def foo():...     return {'a' : 1, 'b' : 2}...  >>> a = foo()>>> a{'a': 1, 'b': 2}(在执行后不输出任何语句的语句意味着最后一条语句返回None)

慕码人8056858

我认为您很困惑,因为您是从REPL运行的,REPL会自动打印出在调用函数时返回的值。在这种情况下,无论您有一个创建值、打印它并丢弃它的函数,还是有一个函数创建一个值并返回它,让REPL打印它,都会得到相同的输出。然而,这些并不是一回事,你会意识到,当你用另一种功能调用自动操作时,它想要做一些具有自动测试所创造的价值的事情。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python