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

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

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

LEATH 2019-06-15 13:44:42
返回函数的输出与打印函数有什么不同?在我以前的问题安德鲁·贾菲(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开它?
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

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)


查看完整回答
反对 回复 2019-06-15
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

我认为您很困惑,因为您是从REPL运行的,REPL会自动打印出在调用函数时返回的值。在这种情况下,无论您有一个创建值、打印它并丢弃它的函数,还是有一个函数创建一个值并返回它,让REPL打印它,都会得到相同的输出。

然而,这些并不是一回事,你会意识到,当你用另一种功能调用自动操作时,它想要做一些具有自动测试所创造的价值的事情。


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

添加回答

举报

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