python - 导入单个函数

标签 python function import

我刚刚学习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 ex36from 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()

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

关于python - 导入单个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819669/

相关文章:

python - 当权重参数为整数时如何从 numpy.bincount 获取整数数组

python - 如何使用urllib2打开 'infinite' jpg?

java - 如何在一个递归函数中先向上再向下计数?

python - 将函数应用于 Pandas.DataFrame 中两列的每个组合的更好方法

Python 在运行测试时导入 src 模块

python - 如何在 Plotly for Python 中悬停时突出显示整个跟踪?

关于指数和整数的Python问题

javascript - 默认函数参数没有按我的预期工作

import - Elixir:要求和导入之间的区别

php - 使用 PHP/MySQL 导入 CSV 数据