Python中return()和print()之间的区别是什么?

时间:2015-07-17 06:32:51

标签: python

在python中,return()和print()会对以下代码产生不同的影响。有什么区别?为什么呢?

def count_wins(teamname):
    wins = 0
    for team in nfl:
        if team[2] == teamname:
            wins +=1
    return wins

def count_wins(teamname):
    wins = 0
    for team in nfl:
        if team[2] == teamname:
            wins +=1
    print wins
  

nfl = [[' 2009',' 1',' Pittsburgh Steelers',' Tennessee Titans'],[' ; 2009',' 1',' Minnesota Vikings',' Cleveland Browns']

3 个答案:

答案 0 :(得分:6)

print只打印东西。如果您需要对结果进行任何额外处理,那么这不是您想要的。

return从函数返回一个值,以便您可以将其添加到列表中,将其存储在数据库中等等。没有打印任何内容

可能让您感到困惑的是 Python解释器将打印返回值,因此如果您正在做的事情,它们看起来可能会做同样的事情。

例如,假设你需要计算总胜利:

def count_wins(teamname):
    wins = 0
    for team in nfl:
        if team[2] == teamname:
            wins +=1
    return wins

total_wins = 0
for teamname in teamnames:
    # doing stuff with result
    total_wins += count_wins(teamname) 

# now just print the total
print total_wins
def count_wins(teamname):
    wins = 0
    for team in nfl:
        if team[2] == teamname:
            wins +=1
    print wins

    for teamname in teamnames:
        # count_wins just returns None, so can't calculate total
        count_wins(teamname) 

答案 1 :(得分:3)

打印和返回非常无关。你可能不熟悉编码。 简而言之,“return”用于从被调用的函数返回值/控制。 “Print”输出传递给指定记录器的参数,通常是控制台屏幕。

你可能想看看: https://docs.python.org/2/tutorial/controlflow.html

此外: Why would you use the return statement in Python?

答案 2 :(得分:1)

我的猜测是你正在使用 IDLE

打印输出任何给定的内容。只是那个输出,结果不能供其他功能或操作进一步使用。

返回会返回函数的结果。使用此功能可使结果可供其他功能和操作进一步使用。在 IDLE 中,使用返回打印值

示例:

Sheets("sheetname").Shapes("comboname").ControlFormat.AddItem ("Select Department Category Group")

现在 7 可用于任何操作或提供给任何功能

请参阅:

def doso():
return 3+4

>>> doso()
7
相关问题