我只是在学习python,对于这可能是一个简单的问题感到抱歉。
按照Zed Shaw的'艰难学习python',我做了一个小文字游戏(ex36)。它定义了函数start()和litroom(),然后运行start(),然后根据用户输入运行litroom()。
如何仅将litroom()函数导入另一个文件?如果我试试
from ex36 import litroom
似乎导入该批次并运行start()。
感谢您的帮助!
答案 0 :(得分:2)
从ex36导入时,它将读取整个文件并执行不在函数内的任何代码。
如果你有
def start():
print ("hello")
def litroom():
start()
start()
在您的ex36
文件中,您的语句import ex36
或from 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()