导入单个功能

时间:2013-11-06 18:16:48

标签: python function import

我只是在学习python,对于这可能是一个简单的问题感到抱歉。

按照Zed Shaw的'艰难学习python',我做了一个小文字游戏(ex36)。它定义了函数start()和litroom(),然后运行start(),然后根据用户输入运行litroom()。

如何仅将litroom()函数导入另一个文件?如果我试试

from ex36 import litroom

似乎导入该批次并运行start()。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

从ex36导入时,它将读取整个文件并执行不在函数内的任何代码。

如果你有

def start():
   print ("hello")
def litroom():
   start()
start()

在您的ex36文件中,您的语句import ex36from ex36 import litroom将执行开始。您应该像这样修复代码:

def start():
   print ("hello")
def litroom():
   start()

if __name__=='__main__':
   # magix trick : name value is the name of the file 
   # unless run as the "main" script where it's __main__
   start()

您可以看到What does if __name__ == "__main__": do?