У меня есть словарь методов в Python, который находится внутри определения.Это def
вызывается вне класса с использованием объекта.Всякий раз, когда вызывается def
, мне возвращаются результаты последнего элемента в словаре.В этом случае мне возвращают результаты def spc_summary:
.
def setStyles(self):
# Assign function to file
functions = {
'app_server.php':self.app_server(),
'dcrm2nlyte.php':self.dcrm2nlyte(),
'export.php':self.export(),
'host_server.php':self.host_server(),
'spc.php':self.spc(),
'spc_approved.php':self.spc_approved(),
'spc_approved_by_dc.php':self.spc_approved_by_dc(),
'spc_by_dc.php':self.spc_by_dc(),
'spc_complete.php':self.spc_complete(),
'spc_summary.php':self.spc_summary()
}
filename = self.phpfile
functions.get(filename)
Может кто-нибудь объяснить, что здесь происходит?Дайте мне знать, если требуется больше деталей.Спасибо!
Позвольте мне добавить некоторые детали: functions.get(filename)
извлекает последний элемент словаря независимо от того, какое имя файла.Я сделал это => functions('spc.php')
, и он все еще возвращал результаты для `def spc_summary '.И эти определения не должны иметь такие же результаты.