"getattr"사용하려고 할 때 다음과 같은 오류가 계속 :gettar 속성 오류 - 파이썬
AttributeError : 'STR'개체가 어떤 속성이 없다 '는 displayTime'여기
는 내가 코드입니다 사용 :
getattr(className,"displayTime")(self)
여기서 "클래스 이름"나는 목록에서 촬영도 내 프로그램이 서브 클래스의 이름을 한 문자열을 의미한다. "displayTime"은 해당 서브 클래스 내의 메소드입니다.
나는 그것으로 직접 서브 클래스의 이름을 inputing하여 테스트하려고 :
getattr(seconds,"displayTime")(self)
이 괜찮 았는데. 누구든지 내가 뭘 잘못하고있는 아이디어가 있습니까?
감사합니다.
당신은 클래스 객체를 잡아해야 할 것 : 당신이이 경우 @Jim Fasarakis 힐리는 코멘트에서 제안이 경우, 이미 수입, 당신은 단순히
globals()
사전에'chicken'
를 찾아 볼 수 있습니다 수행 'globals() [classname]'을 통해; 'getattr'은 당신을 위해 그것을 찾지 못할 것입니다. classname-> classobj 값을 담고있는 사전을 만들어서'globalals'에 대해 걱정하지 않아도됩니다. –문자열을 사용하지 않고 첫 번째 인수로 인스턴스를 사용해야합니다. – Daniel
'seconds'는''seconds "'가 아닙니다. 문자열은 텍스트를 나타내지 만 클래스에없는 것이거나 이름이 문자열에 저장된 텍스트와 일치하는 경우입니다. – user2357112