7 python
我想禁止"返回"打印它返回到python shell的任何对象.
例如,一个示例python脚本test.py看起来像:
def func1():
list = [1,2,3,4,5]
print list
return list
Run Code Online (Sandbox Code Playgroud)
现在,如果我这样做:
python -i test.py
>>>func1()
Run Code Online (Sandbox Code Playgroud)
这总是给我在python shell上的两个打印.我只想打印并获得返回的对象.
Jue*_*gen 12
打印的原因不是return语句,而是shell本身.shell会打印在命令行上执行操作的任何对象.
这就是发生这种情况的原因:
>>> a = 'hallo'
>>> a
'hallo'
Run Code Online (Sandbox Code Playgroud)
最后一个语句的结果是a的值(因为它没有分配给其他任何东西).所以它是由shell打印的.
问题不是"返回"而是shell本身.但这不是问题,因为工作代码规范不会在交互式shell中执行(因此,不会打印任何内容).因此,没问题.
Eli*_*ght 10
没有办法配置Python shell压缩打印函数调用的返回值.但是,如果将返回的值分配给变量,则不会打印它.例如,如果你说
rv = func1()
Run Code Online (Sandbox Code Playgroud)
代替
func1()
Run Code Online (Sandbox Code Playgroud)
然后什么都不打印.
通常,从函数内打印,然后返回值,不是一个好主意.
实际上,在函数内打印通常是错误的.大多数情况下,函数会在程序中多次调用.有时您想要打印该值,通常您只想将该数据用于某些内容.
让函数返回它的值.如果这是正确的事情,让调用该函数的代码将其打印出来.