Python-返回函数的输出与打印输出有何不同?

发布于 2021-02-02 23:22:41

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

关注者
0
被浏览
171
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    打印只是将结构打印到输出设备(通常是控制台)上。而已。要从你的函数返回它,你可以执行以下操作:

    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
      return parts_dict
    

    为什么要回来?好吧,如果你不这样做,该词典将死亡(收集垃圾),并且在此函数调用结束后将无法再访问该词典。如果返回该值,则可以使用它进行其他操作。如:

    my_auto_parts = autoparts() 
    print(my_auto_parts['engine']) 
    

    看看发生了什么事?调用了autoparts(),它返回了parts_dict,我们将其存储在my_auto_parts变量中。现在,我们可以使用此变量访问字典对象,即使函数调用结束,它也可以继续存在。然后,我们用键“ engine”在字典中打印出对象。

    要获得良好的教程,请查看python入门。非常容易遵循。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看