在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']
答案 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”输出传递给指定记录器的参数,通常是控制台屏幕。
答案 2 :(得分:1)
我的猜测是你正在使用 IDLE 。
打印输出任何给定的内容。只是那个输出,结果不能供其他功能或操作进一步使用。
返回会返回函数的结果。使用此功能可使结果可供其他功能和操作进一步使用。在 IDLE 中,使用返回打印值
示例:
Sheets("sheetname").Shapes("comboname").ControlFormat.AddItem ("Select Department Category Group")
现在 7 可用于任何操作或提供给任何功能
请参阅:
def doso():
return 3+4
>>> doso()
7