我只是在学习 python,很抱歉这可能是一个简单的问题。
按照 Zed Shaw 的“以艰难的方式学习 Python”,我制作了一个小文本游戏 (ex36)。它定义了函数 start() 和 litroom(),然后运行 start(),后者又根据用户输入运行 litroom()。
如何仅将 litroom() 函数导入另一个文件?如果我尝试
from ex36 import litroom
它似乎导入了很多并运行 start()。
谢谢你的帮助!
当您从 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()