나는 이와 비슷한 코드를 가지고있다. MyModule.py함수를 동적으로 호출 할 때 왜 TypeError가 발생합니까?
에서class SomeClass:
@classmethod
def SomeMethod(cls, a, b, c):
return "foo"
가 그럼 난 또 다른 파이썬 파일이 있습니다
cls = getattr(MyModule, "SomeClass")
method = getattr(cls, "SomeMethod")
args = { "a":1, "b": 2, "c": 3 }
res = method(**args)
print "Result: " + res
print "Result type: " + str(type(res))
을하지만) (행 호출 유형에 다음과 같은 오류가 발생합니다 :
TypeError: 'unicode' object is not callable
일을 복잡하게하기 위해, 이 축소 된 예제에서는 오류가 발생하지 않습니다. 이 디버깅 방법에 대한 아이디어가 있습니까? 그런 에러를 어떻게 발생시킬 수 있습니까?
아마도'type'이라는 변수가 있습니까? – jgritty
@jgritty 또는'str' – goncalopp
'str' 또는'type'에 무엇인가 할당 했습니까? 'repr (str)'과'repr (type)'은 무엇을 제공합니까? –