gpt4 book ai didi

python - 无法实例化子目录中定义的类

转载 作者:行者123 更新时间:2023-11-28 21:26:13 25 4
gpt4 key购买 nike

我的(简化的)项目布局如下:

/__init__.py
/test.py
/lib/__init__.py
/lib/client.py

我的 test.py 很简单:

import lib.client
A = client()
A.Test()

我的 lib\client.py 开始如下:

import ui #(another class in the lib dir)

class client(object):
"""
(Blah)
"""
UI = None

def __init__():
UI = ui()

def Test():
print "Success"

当我尝试运行 test.py 时,我可以单步执行代码并查看客户端中的定义是否已解析,但是,当我到达实例化客户端的行时,出现以下异常:

NameError: name 'client' is not defined

如果我将该行更改为:

A = lib.client()

然后我得到

'module' object is not callable

我错过了什么?

最佳答案

import lib.client 之后的lib.client 对象是模块,而不是类。要实例化类,您需要在模块对象中调用类:

A = lib.client.client()

或者,正如@rantanplan 所说,从模块中导入类

from lib.client import client
A = client()

关于python - 无法实例化子目录中定义的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com