나는 파이썬에서 정의 안에있는 메소드의 사전을 가지고있다. 이 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 '에 대한 결과를 반환했다. 그리고 그 def의 것이 같은 결과를 가져서는 안됩니다.
'function' 사전의 목적은 무엇입니까? 이름이'phpfile' 안에 저장된 함수를 호출하려고합니까? – hochl
''spc_summary.php ': self.spc_summary()'줄에는''spc_summary.php': self.spc_summary'와''function.get (filename)''과 같은 괄호가 없어야합니다. 여러분은''functions.get (filename)()' –
네, 각 메소드 호출 **에서 사전을 구성하는 동안 효과적으로 모든 멤버 함수를 호출하고 있습니다. – hochl