如何从类中的方法调用__name __ =='__ main __'?

问题描述 投票:0回答:1

我想从方法中调用主函数__name__=='__main__'。我怎么称呼它?

if __name__ == '__main__':
    win = GraphWin('Tic-Tac-Toe', 500, 700, autoflush=False)  # give title and dimensions
    win.setBackground('Grey')
    win.items = []
    g1 = Game()
    g1.choice_player_button()
python-3.x
1个回答
1
投票

你为什么不做这样的事情:

print("Hello")

print("__name__ value: ", __name__)


def main():
    print("python main function")


if __name__ == '__main__':
    main()

因此,基本上,将要在脚本上执行的所有内容包装在main函数中。这样,您可以从脚本中的每个其他位置调用该部分代码。

在您的情况下,看起来像这样:

def main():
    win = GraphWin('Tic-Tac-Toe', 500, 700, autoflush=False) # give title and dimensions
    win.setBackground('Grey')
    win.items = []
    g1 = Game()
    g1.choice_player_button()

if __name__ == '__main__':
    main()

0
投票

我想从方法中调用主函数__name__=='__main__'。我怎么称呼它?

您不能,因为它不是函数。

正确的解决方案是将代码移入函数。然后,您可以轻松地执行所需的操作。

# somefile.py

def main():
    win = GraphWin('Tic-Tac-Toe', 500, 700, autoflush=False)  # give title and dimensions
    win.setBackground('Grey')
    win.items = []
    g1 = Game()
    g1.choice_player_button()

if __name__ == '__main__':
    main()

您可以从其他文件中执行以下操作:

from somefile import main
main()
© www.soinside.com 2019 - 2024. All rights reserved.