我正在做作业,我在“打印”和“返回”之间感到困惑。
python中的print和return有什么区别?
例如,当我要求创建一个返回所有字母(“a”,“e”,“i”,“o”,“u”)的函数时,为什么输出不能出来。?我只是把我的高清功能(例如all_letters(“你好我的妻子”),但是当我把“印刷体”有一个输出
我正在做作业,我在“打印”和“返回”之间感到困惑。
python中的print和return有什么区别?
例如,当我要求创建一个返回所有字母(“a”,“e”,“i”,“o”,“u”)的函数时,为什么输出不能出来。?我只是把我的高清功能(例如all_letters(“你好我的妻子”),但是当我把“印刷体”有一个输出
随着return
,你可以分配给一个变量:
def my_funct(x):
return x+1
然后,您可以做y = my_funct(5)
。y
现在等于6.
要他lp描述它,认为一个函数是一台机器(类似于他们在一些数学课程中使用的)。通过插入变量(在这种情况下,x
),函数输出(或returns
)(在这种情况下,x+1
)。变量是输入,return
给出输出。
但是,使用print
时,该值仅显示在屏幕上。
如果更改的功能:
def my_funct(x):
print(x+1)
然后做y = my_funct(x)
,y
等于None
,因为print()
不返回任何东西。
使用机器隐喻,插入变量(同样,x
),但不是输出内容,而是显示它等于什么(再次,x+1
)。但是,它不输出任何内容。
return
将值返回给调用范围。 print
(除非有人做了一些猴子修补)将数据推送到标准输出。随后可以从调用范围使用返回的值,而将打印的内容分派给OS并由OS相应处理。
>>> def printer(x):
... print x * 2
...
>>> def returner(x):
... return x * 2
...
>>> printer(2)
4
>>> y = printer(2)
4
>>> y is None
True
>>> returner(2)
4
>>> y = returner(2)
>>> y
4
交互式控制台是一个位误导用于说明这一点,因为它只是打印一个返回值的字符串表示,但在例如分配给y
上述值的差是说明性的。 y
当分配printer
的结果时为None
,因为对于没有显式返回值的任何函数存在隐式return None
。
return
是一个关键字,而print
是一个功能:当你想赋值给变量
return
是非常有用的。
print
只允许您打印在命令提示符下一些文字:
def foo():
return 2
bar = foo() # now bar == 2
print(bar) # prints 2
非常感谢(: –
OK!谢谢.. –