목록메타프로그래밍 (2)
스택큐힙리스트
나는 모듈에서 클래스를 모두 추출하는 사람들의 많은 예시를 보았다. 일반적으로 이러한 방식으로 한다. # foo.pyclass Foo: pass# test.pyimport inspectimport foofor name, obj in inspect.getmembers(foo): if inspect.isclass(obj): print obj멋지다.하지만 현재 모듈에서 모든 클래스를 가져오는 방법을 찾을 수 없습니다. # foo.pyimport inspectclass Foo: passdef print_classes(): for name, obj in inspect.getmembers(???): # what do I do here? if inspect.isclass(obj): print obj# test.pyi..
metaclasses가 무엇인가요? 그것들은 어떤 용도로 사용되나요?답변 1클래스는 객체입니다.메타클래스를 이해하기 전에, 파이썬 클래스를 더 깊게 이해하는 것이 도움이 됩니다. 파이썬은 스몰토크 언어에서 빌린 클래스의 개념을 가지고 있어 매우 독특합니다.대부분의 언어에서, 클래스는 객체를 생성하는 방법을 설명하는 코드 조각에 불과합니다. 파이썬에서도 어느 정도 그렇습니다. >>> class ObjectCreator(object):... pass>>> my_object = ObjectCreator()>>> print(my_object)하지만 파이썬에서 클래스는 그 이상입니다. 클래스도 객체입니다.네, 물체들입니다.파이썬 스크립트가 실행될 때마다, 모든 코드 줄이 위에서 아래로 실행됩니다. 파이썬 인터프리..