我有一个名为'Learning'
的软件包,包含一个空文件__init__.py
和hello_calvin.py
hello_calvin.py内容:
def hi_calvin(a, b):
c = a + b
return c
hello_john.py内容:
from Learning import hello_calvin
a = hello_calvin.hi_calvin(1,2)
print(a)
但是,打印(a)不会打印任何内容。
我在这里做错了什么?任何帮助表示赞赏!!
编辑:抱歉,我重命名了正确的文件。现在有道理了
答案 0 :(得分:0)
我认为您应该将文件init.py
重命名为__init__.py
这是告诉Python将此目录视为包的正确方法。
然后,它应该工作正常。我试过我的电脑,它工作正常。
答案 1 :(得分:0)
我发现问题是什么,我刚刚在PyCharm上移动了+ ctrl f10并运行了 init .py这是空的,因此它什么都没打印。
对不起伙计们!
感谢您的快速回复。
答案 2 :(得分:0)
你本应该收到错误,
ImportError: No module named Learning
因为__init__.py为空。改变一些事情。
让hello_calvin.py成为一个类。 所以
Class Hello_calvin:
def hi_calvin(a, b):
c = a + b
return c
并使用班级名称保存文件' Hello_calvin.py'
__ init__.py不应为空。 型
from Learning import Hello_Calvin
这告诉python它是包目录。
包目录的名称应为' Learning'。
另外,' hello_john.py'不应该在学习目录中,因为它正在访问包。
仔细阅读http://pythoncentral.io/how-to-create-a-python-package/。