Taip Mengisyaratkan Kaedah dengan Jenis Kelas Melampirkan
Dalam Python, mewakili jenis kelas melampirkan kaedah boleh dicapai melalui pelbagai kaedah bergantung pada versi Python.
Python 3.7 dengan 'daripada masa hadapan anotasi import'
Dengan mendayakan ciri "penilaian tertunda bagi anotasi" dengan daripada anotasi import __future__, anotasi boleh disimpan sebagai rentetan dan dinilai secara tidak segerak.
from __future__ import annotations class Position: def __add__(self, other: 'Position') -> 'Position': ...
Python 3.11 dengan 'dari menaip import Self'
Python 3.11 memperkenalkan jenis Self untuk mewakili jenis kelas yang disertakan.
from typing import Self class Position: def __add__(self, other: Self) -> Self: ...
Python <3.7
Untuk versi Python sebelum 3.7, rentetan digunakan untuk menunjukkan kelas yang disertakan jenis.
class Position: def __add__(self, other: 'Position') -> 'Position': ...<p><strong>Mengendalikan Rujukan Hadapan</strong></p> <p>PEP 484 menentukan bahawa rujukan hadapan harus diwakili sebagai rentetan sehingga ia sepenuhnya ditakrifkan.</p> <pre class="brush:php;toolbar:false">class Tree: def __init__(self, left: 'Tree', right: 'Tree'): ...
Alternatif
Elakkan menggunakan takrifan tiruan kelas yang dilampirkan atau menampal monyet kelas untuk menambah anotasi, kerana pendekatan ini boleh mengakibatkan anotasi yang salah tingkah laku.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menaip Petunjuk Kelas Melampirkan Kaedah dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!