为什么在python中定义函数时使用print语句?它有助于调试吗?

为什么在python中定义函数时使用print语句?它有助于调试吗?,python,debugging,Python,Debugging,我正在学习python编程,我在某个地方读到过很多次,为了看到副作用,我们在没有任何输出的情况下使用return语句。你能解释一下为什么会这样吗?例如 def sum(a, b) print "enter sum!" print "a is", a a = a + b print "a is", a print sum(2, 123) 在这里编写打印语句的必要性是什么?您的代码相当奇怪:它确实不需要这么多打印。回答您的问题:print通常用于两种

我正在学习python编程,我在某个地方读到过很多次,为了看到副作用,我们在没有任何输出的情况下使用return语句。你能解释一下为什么会这样吗?例如

def sum(a, b)
      print "enter sum!"
      print "a is", a
      a = a + b
      print "a is", a
print sum(2, 123)

在这里编写打印语句的必要性是什么?

您的代码相当奇怪:它确实不需要这么多打印。回答您的问题:
print
通常用于两种情况:

1.在控制台脚本中与用户交互。例如:

def do_some_stuff():
   ...

def main():
   print 'Started doing some stuff...'
   result = do_some_stuff()
   print 'Completed. Result: %s' % result
def sum(a, b):
    print 'Args: %s, %s' % (a, b)
    return a + b
2.调试。如果不清楚代码中发生了什么,可以临时将print插入代码的任何部分。例如:

def do_some_stuff():
   ...

def main():
   print 'Started doing some stuff...'
   result = do_some_stuff()
   print 'Completed. Result: %s' % result
def sum(a, b):
    print 'Args: %s, %s' % (a, b)
    return a + b

注意:这两种情况都可以用更强大的工具来替代:。

这里真的不清楚你在问什么。您可以使用打印来打印一些输出。有什么让人困惑的?是的,这看起来像是用于代码调试。。。!?我不清楚你的问题是什么。FWIW,您应该通过
logging
模块而不是普通的
print
来调试/记录语句,但这不会改变基本用例。您的函数实际上不会返回任何内容,因此最后一行输出将为“None”