boundmethods2 Python 모듈의 이름(문자열)을 사용하여 함수를 호출하기, Calling a function of a module by using its name (a string) 질문 함수 이름을 포함한 문자열을 사용하여 함수를 호출하는 방법은 무엇인가요? 예를 들어: import foo func_name = "bar" call(foo, func_name) # calls foo.bar() 답변 모듈 foo와 메소드 bar가 있다고 가정합니다: import foo bar = getattr(foo, 'bar') result = bar() getattr는 클래스 인스턴스 바운드 메소드, 모듈 레벨 메소드, 클래스 메소드 등에도 유사하게 사용할 수 있습니다. 목록은 계속됩니다. 2023. 5. 7. Python @staticmethod와 @classmethod의 차이점, Difference between @staticmethod and @classmethod 질문 데코레이트된 메소드와 @staticmethod로 데코레이트된 메소드, 그리고 @classmethod로 데코레이트된 메소드의 차이점은 무엇인가요? 답변 아래의 예제 코드를 보면서 이해해보세요: foo, class_foo, static_foo의 호출 시그니처의 차이점을 주목하세요: class A(object): def foo(self, x): print(f"executing foo({self}, {x})") @classmethod def class_foo(cls, x): print(f"executing class_foo({cls}, {x})") @staticmethod def static_foo(x): print(f"executing static_foo({x})") a = A() 아래는 객체 인스턴스가.. 2023. 5. 4. 이전 1 다음