2024-04-23 22:53:45 发布
网友
我想禁止“return”打印任何返回到python shell的对象。
例如,python script test.py示例如下:
def func1(): list = [1,2,3,4,5] print list return list
现在,如果我这样做:
python -i test.py >>>func1()
这在python shell上总是给我两个指纹。 我只想打印并获取返回的对象。
无法配置Python shell禁止打印函数调用的返回值。但是,如果将返回值赋给变量,则不会打印该变量。例如,如果你说
rv = func1()
而不是
func1()
那就什么也印不出来了。
一般来说,从函数中打印,然后返回值,并不是一个好主意。
事实上,在函数中打印通常是错误的。大多数情况下,函数在程序中被调用多次。有时你想打印值,大多数时候你只是想用这些数据来做一些事情。
让函数返回它的值。如果正确的话,让调用函数的代码打印出来。
打印的原因不是返回语句,而是shell本身。shell确实会打印命令行上的操作所产生的任何对象。
这就是发生这种情况的原因:
>>> a = 'hallo' >>> a 'hallo'
最后一个语句的值是as result(因为它没有分配给任何其他语句)。所以它是由外壳印刷的。
问题不在于“返回”,而在于外壳本身。但这不是问题,因为正常工作的代码不会在交互式shell中执行(因此,不会打印任何内容)。因此,没问题。
无法配置Python shell禁止打印函数调用的返回值。但是,如果将返回值赋给变量,则不会打印该变量。例如,如果你说
而不是
那就什么也印不出来了。
一般来说,从函数中打印,然后返回值,并不是一个好主意。
事实上,在函数中打印通常是错误的。大多数情况下,函数在程序中被调用多次。有时你想打印值,大多数时候你只是想用这些数据来做一些事情。
让函数返回它的值。如果正确的话,让调用函数的代码打印出来。
打印的原因不是返回语句,而是shell本身。shell确实会打印命令行上的操作所产生的任何对象。
这就是发生这种情况的原因:
最后一个语句的值是as result(因为它没有分配给任何其他语句)。所以它是由外壳印刷的。
问题不在于“返回”,而在于外壳本身。但这不是问题,因为正常工作的代码不会在交互式shell中执行(因此,不会打印任何内容)。因此,没问题。
相关问题 更多 >
编程相关推荐