-
추상함수를 정의하고 구현하지 않을 경우 생성할 수 없게 제약을 걸 수 있다.
추상함수 c1f1()의 예제.
import abc class C1(metaclass=abc.ABCMeta): @abc.abstractmethod def c1f1(self): print("C1f1") pass pass class C2(C1): def c2f1(self): preint("C2f2") pass pass class C3(C1): def c1f1(self): print("C3c1f1") pass pass c1 = C1() c2 = C2() c3 = C3() c3.c1f1()
>>> c1 = C1() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Can't instantiate abstract class C1 with abstract methods c1f1 >>> c2 = C2() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Can't instantiate abstract class C2 with abstract methods c1f1 >>> c3.c1f1() C3c1f1
다른 예제 realpython.com/python-interface/
'Python' 카테고리의 다른 글
Vsc Python 준비 (0) 2020.07.03 Python - 클래스 멤버 변수 (1) 2020.06.21 Python - 인터페이스(interface) 클래스 (0) 2020.06.13 Python - 클래스 함수(static, 정적, 공유) (0) 2020.06.12 Python예제 - ctypes 데이터형 (0) 2019.03.05 Python예제 - ctypes 기초 (0) 2019.03.05 Python예제 - 콘솔창 타이틀 이름 변경, 얻기 (0) 2019.03.05 Python예제 목록 (0) 2018.12.10