Skip to Content
전문가를 위한 파이썬(2판)
book

전문가를 위한 파이썬(2판)

by 루시아누 하말류, 강권학
November 2024
Beginner to intermediate
1064 pages
25h 21m
Korean
Hanbit Media, Inc.
Content preview from 전문가를 위한 파이썬(2판)
1037
24
클래스 메타프로그래밍
NosyDict
클래스의
__setitem__( )
을 변경해 항목을 설정할 때 키와 값을 출력하도록 작성
했다. 메타클래스는
NosyDict
인스턴스를 사용해 생성 중인 클래스의 네임스페이스를 보관함
으로써 파이썬의 내부 작동을 더 많이 보여줄 것이다.
metalib.py
에서 주요 관심사는 [예제
24
-
18
]에 나오는 메타클래스다. 이 메타클래스는 파이
썬이 메타클래스에만 호출하는 클래스 메서드인
__prepare__( )
특별 메서드를 구현한다.
__
prepare__( )
는 새로운 클래스를 생성하는 과정 초기에 영향을 미칠 기회를 제공한다.
TIP
메타클래스를 작성할 때 특별 메서드 인수에 다음과 같은 명명 관례를 채택하면 도움이 된다고 생각한다.
인스턴스 메서드에는
self
대신
cls
를 사용한다. 인스턴스가 클래스이기 때문이다.
클래스 메서드에
cls
대신
meta
_
cls
를 사용한다. 클래스가 메타클래스이기 때문이다.
__
new
__
()
메서드는
@
classmethod
데커레이터가 없지만, 클래스 메서드로서 작동함에 주의하라.
예제
24-18
metalib
.
py
:
MetaKlass
클래스
class MetaKlass(type):
print(‘% MetaKlass body’)
@classmethod ❶
def __prepare__(meta_cls, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

전문가를 위한 리액트

전문가를 위한 리액트

테자스 쿠마르
고성능 파이썬(2판)

고성능 파이썬(2판)

오현석, 미샤 고렐릭, 이안 오스발트

Publisher Resources

ISBN: 9791169211772