我刚刚学习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
将执行 start。您应该像这样修复代码:
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()
关于python - 导入单个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819669/