유형 힌트는 Python에서 다음을 나타내는 데 사용됩니다. 예상되는 변수 유형 또는 함수의 반환 값. 코드의 의도된 동작을 문서화하는 방법을 제공하고 오류를 조기에 발견하는 데 도움이 될 수 있습니다.
문제 설명:
Python 3에는 다음 코드가 있습니다.
class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -> Position: return Position(self.x + other.x, self.y + other.y)
그러나 편집자(PyCharm)가 오류 플래그를 지정하여 유형 힌트에서 Position에 대한 참조가 있음을 나타냅니다. __add__을(를) 해결할 수 없습니다. 그러면 질문이 생깁니다. 반환 유형이 Position 유형이어야 함을 어떻게 지정할 수 있습니까?
해결책:
Python에는 유형 힌트에 대한 세 가지 주요 접근 방식이 있습니다. 사용 중인 Python 버전에 따라 바깥쪽 클래스 유형이 포함된 메서드:
Python 3.11:
from typing import Self class Position: def __add__(self, other: Self) -> Self: ...
from __future__ 가져오기 주석이 있는 Python 3.7:
from __future__ import annotations class Position: def __add__(self, other: Position) -> Position: ...
Python 3.6 및 이전:
class Position: def __add__(self, other: 'Position') -> 'Position': ...
설명:
컴파일 전 요구 사항:
3.7 이전 Python 버전에서 유형 힌트에 문자열을 사용하려면 참조되는 클래스가 정의되어 있어야 합니다. 유형 주석에 사용되기 전에. 그렇지 않으면 NameError가 발생합니다.
고려 사항:
유형 힌트는 선택 사항이지만 코드 가독성, 오류 검사 및 유지 관리성을 크게 향상시킬 수 있다는 점을 기억하세요.
위 내용은 Python에서 바깥쪽 클래스 유형을 사용하여 메서드에 힌트를 입력하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!