我正在使用函數來實例化python類。Python:TypeError:'str'對象不可調用
赫斯是類結構
from DB.models import ApiKey,ServiceProvider
class SMSMrg(object):
_instance = None
class Singleton:
def __init__(self):
self.username = None
self.password = None
self.allsp = []
self.classnames = {}
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super(SMSMrg, cls).__new__(
cls, *args, **kwargs)
return cls._instance
def loadsettings(self):
get_all_sp = ServiceProvider.objects.filter(status = False)
for (options,obj) in enumerate(get_all_sp):
cla = str(obj.class_Name)
self.classnames[cla] = cla
print self.classnames
for (options,obj) in enumerate(get_all_sp):
cla = str(obj.class_Name)
class_object = self.classnames[cla](obj.userName,obj.password,obj.sendingurl)
# self.allsp = get_all_sp
def send(self):
print "+++++++++++++++++++== Global send "
if __name__ == "__main__":
b = SMSMrg()
b.loadsettings()
我已存儲在數據庫中的類名和我已經定義在不同的文件中的每個類的結構。
像cla
將包含類名稱。
但是,當我在上面調用函數時,我得到了類型錯誤。
Traceback (most recent call last):
File "allsms.py", line 30, in <module>
b.loadsettings()
File "allsms.py", line 21, in loadsettings
class_object = cla(obj.userName,obj.password,obj.sendingurl)
TypeError: 'str' object is not callable
請告訴我如何instaniate所有類名稱存在於我的分貝。
什麼是'obj'?它是這個類的一個實例嗎? – Bakuriu
是的,它是模型類的實例 – masterofdestiny
爲什麼你將'Singleton'作爲一個類寫入類中?還有'__new__'嚴重縮進或者它真的是'SMSMrg'的一部分,而不是'Singleton'? – Bakuriu