我在Python 2.7中需要这个功能吗?还是没必要?

时间:2014-05-22 02:26:36

标签: python tkinter

所以我看到的代码看起来像这样:

from Tkinter import *    
def main():
        root = Tk()
        root.geometry("250x150+300+300")
        root.title("GUI")
        root.mainloop()

但他们为什么要在函数中编写呢?你不能通过输入

来做同样的事情
from Tkinter import *
root = Tk()
root.geometry("250x150+300+300")
root.wm_iconbitmap(r'c:/Python33/DLLs/txteditor.ico')
app = txtEditor(root)
root.mainloop()

不确定这是否被视为"好"问题,如果不是我明白我会删除它。但我对Python有点新,只是看到了很多,但不明白为什么?任何帮助将不胜感激: - )

2 个答案:

答案 0 :(得分:0)

有时,导入脚本以便您可以测试甚至使用其中的某些功能非常有用。如果您的主要功能在一个功能中,这很容易做到。

但是,如果只是导入脚本也会执行主要功能 - 那么,这不是很有用。

答案 1 :(得分:0)

将代码包装在预定义的函数名称(在您的情况下为main)中的主要目的是,当您的文件由其父脚本导入时,因此定义的函数用作入口点。

Ethan Furman所述,函数中包含的代码只有在需要时才会被调用,因为散布在函数外部的代码(第二个示例)在导入后立即被执行。

此外,您的第一个片段比第二个片段更清晰,更自我解释。