본문 바로가기

getattr2

Python 객체의 필드로부터 파이썬 딕셔너리, Python dictionary from an object's fields 질문 무작위 객체에서 사전을 만들기 위한 내장 함수가 있는지 알고 계십니까? 다음과 같은 작업을 수행하고 싶습니다: >>> class Foo: ... bar = 'hello' ... baz = 'world' ... >>> f = Foo() >>> props(f) { 'bar' : 'hello', 'baz' : 'world' } 참고: 메서드는 포함되지 않아야 합니다. 필드만 포함되어야 합니다. 답변 파이썬 2.7에서의 최선의 방법은 new-style 클래스를 사용하는 것입니다 (Python 3에서는 필요하지 않음), 즉, class Foo(object): ... 또한, '객체'와 '클래스' 사이에는 차이가 있습니다. 임의의 객체에서 사전을 구축하기 위해서는 __dict__를 사용하는 것이 충분합니다. 보.. 2023. 10. 25.
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.