Python 方法放置

标签 python

谁能给我一个解决方案

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/

相关文章:

python - 如何使用 python 将 .csv 文件转换为 .db 文件?

python - 任何 dhcp python 库?

python - BeautifulSoup FindAll 与 OR 和空类

jquery - 我的 Jquery-Ajax 投票代码遇到问题

python - 从最后一个产生的对象而不是值中查找元素

python - 无法使用 ctypes 将参数传递给 dll (Python)

python - SQLAlchemy 还是 psycopg2?

python - 使用 Python 求解非线性微分一阶方程

Python:Matplotlib 避免绘制间隙

python - 2个输入函数?