PEP695로 3.12부터 적용될 사항인데
기존에는 TypeVar로 제네릭 변수 지정해서 다음과 같이 사용했다면
from typing import Generic, TypeVar _T_co = TypeVar("_T_co", covariant=True, bound=str) class ClassA(Generic[_T_co]): def method1(self) -> _T_co: ...이제는 이렇게 할 수 있음
class ClassA[T: str]: def method1(self) -> T: ...별칭도 기존에는 이렇게 해야했다면
from typing import TypeAlias _T = TypeVar("_T") ListOrSet: TypeAlias = list[_T] | set[_T]이제는 이렇게 할 수 있음
type ListOrSet[T] = list[T] | set[T]
아직 hkt지원은 없지만
요구하는 사람이 점점 많아지니까 시간문제일듯
기존에는 분산 관련해서 명시적으로 지정해줘야 했는데 자동 추론을 기본으로 생각하고, 사용자가 따로 인지할 필요 없어야 한다고 결정난듯
파이썬은 람다 한줄 제한만 시발 좀 어떻게 좀 해줬으면
파이썬4 나올 때가 된 거 같다
ㅅㅂ ㅋㅋㅋㅋㅋㅋ - dc App
어어
어중간하게 덕지덕지 붙이는 거 포기 하고 깔끔하게 4 가즈아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ
TypeVar 저거는 대체 무슨 생각으로 만들었던거지...
기존 문법 진짜 어질어질하다
파이썬 거이 모르는데 진짜 하나도 몰루겠네 ㅇㅅㅇ - dc App
T:str이 T extends str 같은의미임? - dc App
파이썬에 제네릭이란 말이 너무 어색한데;;
이게 컴파일 언어에서 다루는 제네릭임 아니면 그냥 타입힌트임?
Python은 다 type hint
제네릭이라 하면 안 되긴 함
저놈의 TypeVar 드디어 갈아치우는구나