> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 메서드의 바깥쪽 클래스에 대한 힌트를 어떻게 입력할 수 있나요?

Python에서 메서드의 바깥쪽 클래스에 대한 힌트를 어떻게 입력할 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-19 11:17:09
원래의
593명이 탐색했습니다.

How Can I Type Hint a Method's Enclosing Class in Python?

인클로징 클래스 유형으로 메소드 유형 힌트

Python에서는 메소드의 인클로징 클래스 유형을 나타내는 방법에 따라 다양한 메소드를 통해 구현할 수 있습니다. Python 버전에서.

'from'이 포함된 Python 3.7 future 가져오기 주석'

from __future__ 가져오기 주석에서 "주석의 지연 평가" 기능을 활성화하면 주석을 문자열로 저장하고 비동기식으로 평가할 수 있습니다.

from __future__ import annotations

class Position:
    def __add__(self, other: 'Position') -> 'Position':
        ...
로그인 후 복사

Python 3.11 'fromtyping import' 포함 Self'

Python 3.11에서는 바깥쪽 클래스 유형을 나타내는 Self 유형이 도입되었습니다.

from typing import Self

class Position:
    def __add__(self, other: Self) -> Self:
        ...
로그인 후 복사

Python <3.7

의 경우 3.7 이전의 Python 버전에서는 문자열을 사용하여 둘러싸는 클래스를 나타냅니다. type.

class Position:
    def __add__(self, other: 'Position') -> 'Position':
        ...<p><strong>전방 참조 처리</strong></p>
<p>PEP 484는 전방 참조가 완전해질 때까지 문자열로 표시되어야 한다고 지정합니다. 정의되었습니다.</p>
<pre class="brush:php;toolbar:false">class Tree:
    def __init__(self, left: 'Tree', right: 'Tree'):
        ...
로그인 후 복사

대안

주석을 추가하기 위해 바깥쪽 클래스의 더미 정의를 사용하거나 클래스를 몽키 패치하는 것을 피하세요. 이러한 접근 방식은 잘못된 주석을 초래할 수 있습니다. 행동.

위 내용은 Python에서 메서드의 바깥쪽 클래스에 대한 힌트를 어떻게 입력할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿