我需要在中为我的代码创建一个单例。所以我跟着these instructions, method 3
以下是我的代码:
class Singleton(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
return cls._instances[cls]
def MyCfg(object):
__metaclass__ = Singleton
def __init__(self, p1 = 1, p2 = 2):
# Some code
my_cfg = MyCfg()
但是,当我运行此代码时,会出现以下错误:
TypeError: MyCfg() takes exactly 1 argument (0 given)
我对python
和编程并不陌生,但我从未在这个级别上与python
合作过。我一直试图理解Singleton
类中到底发生了什么,但我搞不清楚
有人能解释为什么这段代码会产生错误吗
你有:
我很确定你的意思是:
您看到的错误(
TypeError: MyCfg() takes exactly 1 argument (0 given)
)是因为在当前代码中,您正在定义一个名为MyCfg
的函数,该函数只接受一个参数(您没有提供)相关问题 更多 >
编程相关推荐