谁能给我一个解决方案
dosomething()
def dosomething():
print 'do something'
我不希望我的方法在文件顶部定义,有没有办法解决这个问题?
最佳答案
“标准”方法是在文件顶部的 main
函数中执行操作,然后在底部调用 main()
。例如。
def main():
print 'doing stuff'
foo()
bar()
def foo():
print 'inside foo'
def bar():
print 'inside bar'
if __name__ == '__main__':
main()
if if __name__ == '__main__':
部分确保如果文件被导入另一个 python 程序,main()
将不会被调用,而只是直接运行文件时调用。
当然,“main”没有任何意义……(不过,__main__
确实有!)这是一个伪约定,但您也可以称它为 do_stuff
,然后在底部有 if __name__ == '__main__': do_stuff()
。
编辑:您可能还想查看 Guido's advice on writing main
's .此外,Daenyth 提出了一个很好的观点(并打败了我来回答):你应该做这样的事情的原因不是“标准”,甚至它允许你在你的“主”代码下面定义函数。您应该这样做的原因是它鼓励您编写模块化和可重用代码。
关于Python 方法放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3937450/