Python TypedDict

Python 3.8에서는 dictionary에 타이핑을 추가할 수 있는 TypedDict가 추가되었다. (PEP 589) from typing import TypedDict class Student(TypedDict): grade: int name: str student: Student = { "grade": 1, "name": "tonynamy" } student = Student(grade=1, name="tonynamy") student = Student({ "grade": 1, "name": "tonynamy" }) 위와 같이 typing 모듈의 TypedDict를 상속 받는 형태로 타입 정의가 가능하며, Pyright, mypy 등을 이용하여 타입 검사에도 도움을 받을 수 있다....

Is A, Has A

중학교 2학년이던 2016년, 한창 자바를 공부하며 상속에 대해서 알아갈 때였습니다. 어느 책이었는지 정확히 기억은 나지 않지만, 저자가 “나는 다른 사람들이 설명하는 상속이 마음에 들지 않는다”라고 말했던 것이 기억이 납니다. 처음에는 무슨 말인지 몰랐습니다. Animal 클래스가 cry 함수를 가지고, Dog와 Cat이 Animal을 상속하여 이를 오버라이딩하는 전형적인 상속 예제에 고개를 끄덕이던 저였거든요. 그런데 최근에 전문가를 위한 파이썬과 디자인 패턴에 뛰어들기 읽고 상속을 바라보는 시각이 달라지기 시작했습니다. 일반적인 상속 from abc import ABCMeta, abstractmethod class Animal(metaclass=ABCMeta): @abstractme...