【问题标题】:Define Python function and print output in terminal [duplicate]在终端中定义Python函数并打印输出[重复]
【发布时间】:2016-03-18 06:34:39
【问题描述】:

可能是非常基本的问题,但我找不到答案。我创建了一个名为“test.py”的 python 程序。它包含以下代码:

def test():
    print 'test'

我想在我的终端 (Mac) 上运行这个程序并在终端上打印“测试”。当我运行程序如下:

python test.py

似乎程序已执行,但未打印“测试”。我怎么做?谢谢。

【问题讨论】:

    标签: python macos function terminal output


    【解决方案1】:

    你只是定义了测试函数,你需要调用它。有两种方法:
    1.直接调用:

    def test():
        print 'test'
    
    test()
    
    1. ma​​in 检查中调用(主要是因为当有人导入您的 test.py 时,它不会调用 test() 函数):
    def test():
        print 'test'
    
    if __name__ == "__main__":
        test()
    

    【讨论】:

      【解决方案2】:

      这是因为当您调用 Python 脚本时实际上并没有执行任何操作。您只需在test.py 中定义一个方法。

      您实际上必须在某个地方调用此方法。如果您希望在调用 test.py 时执行代码,则需要将其放在脚本的底部:

      if __name__ == '__main__':
          test()
      

      根据文档here

      【讨论】:

        【解决方案3】:

        您需要调用该函数。像这样的:

        if __name__ == "__main__":
          test()
        

        【讨论】:

          【解决方案4】:

          您需要调用该函数,获取输出的最简单方法是调用它。在函数定义之前或之后的某处添加这一行。

          test()
          

          但是,更好的做法是将其放在 if 块中 (reason)

          if __name__ == '__main__':
              test()
          

          【讨论】:

            【解决方案5】:
            1. if __name__ == "__main__" 是当脚本从(比如)命令行使用 python python test.py 之类的命令运行时运行的部分。

              2.可以直接调用:

              def test():
                  print 'test'
              
              test()
              

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-12-21
              • 2014-05-18
              • 2020-02-24
              • 2013-10-26
              • 1970-01-01
              • 2020-05-14
              • 2016-07-26
              • 2014-11-29
              相关资源
              最近更新 更多