TypeError:'module'对象在我的关于python模块的简单程序中是不可调用的

thl*_*ood 2 python python-module typeerror python-import

这是我的Python模块:

main.py
fib/
    __init__.py
    fib.py
    hello.py
Run Code Online (Sandbox Code Playgroud)

fib.py定义函数fib(),hello.py定义函数hello().

main.py

from fib import *
hello()
Run Code Online (Sandbox Code Playgroud)

__init__.py

__all__ = ["fib", "hello"]
Run Code Online (Sandbox Code Playgroud)

我只是为了练习而写这段代码.不用于工作

我跑main.py它打印:

Traceback (most recent call last):
  File "tes.py", line 5, in <module>
    hello()
TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)

为什么?我有名单你好__all__

Mar*_*ers 7

您已hello使用该from fib import *行导入模块,但您没有引用该hello模块中的函数.

改为:

from fib import *
hello.hello()
Run Code Online (Sandbox Code Playgroud)

或这个:

from fib.hello import *
hello()
Run Code Online (Sandbox Code Playgroud)