相信每一位初学python的读者都被return和print迷惑过,
好像者两个都可以打印内容,那么这两个有啥区别?w(゚Д゚)w
我们先来看下官方的解说
官方解说
在python的shell界面中输入help(print)
,即可查看帮助信息
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
翻译过来就是
有关内置模块内置函数打印的帮助:
打印(...)
print(value,...,sep ='',end ='\ n',file = sys.stdout,flush = False)
默认情况下,将值打印到流或sys.stdout。
可选关键字参数:
file:类文件对象(stream); 默认为当前的sys.stdout。
sep:在值之间插入的字符串,默认为空格。
end:在最后一个值后附加的字符串,默认为换行符。
flush:是否强制刷新流。
大概就是说print,是用于打印变量的内容的。能不能利用print返回内容呢?我们做个实验来一探究竟
def show():
a = 'busy to live ,busy to die'
print (a)
show()
value = show()
print (value)
执行的效果如下
busy to live ,busy to die
busy to live ,busy to die
None
第一次我直接执行了这个函数show,函数show中的语句打印了’busy to live ,busy to die’证明print,可以将变量的内容打印出来。
然后我又使用value = show()
将函数show的结果保存到变量value中,由于执行了函数show,所有函数show的语句又会打印一次’busy to live ,busy to die’,现在我们将函数show的执行结果保存到了变量value中。
现在查看执行结果print (value)
,执行结果是None
,证明print只能用于打印变量内容,无法返回执行结果。
- return
在看看return的解释,return获取函数执行的结果。看看效果:
"""return的用法"""
def show():
a = 'busy to live ,busy to die'
return a
show()
value = show()
print (value)
执行结果:
busy to live ,busy to die
首先我定义了一个函数,然后将’busy to live ,busy to die’作为函数执行的返回值,首先我调用了这个函数,结果并没有输入任何东西,然后我将函数的执行结果保存到变量value中,然后打印执行结果发现函数返回了’busy to live ,busy to die’
总结:
print用于打印变量内容,return用于返回函数执行结果