Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Menaip Petunjuk Kaedah dengan Jenis Kelas Melampirkan dalam Python?
Petua jenis digunakan dalam Python untuk menunjukkan jenis pembolehubah yang dijangka atau nilai pulangan fungsi. Mereka menyediakan cara untuk mendokumentasikan gelagat kod yang dimaksudkan dan boleh membantu menangkap ralat lebih awal.
Pernyataan Masalah:
Anda mempunyai kod berikut dalam 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)
Walau bagaimanapun, editor anda (PyCharm) membenderakan ralat, menunjukkan bahawa rujukan kepada Kedudukan dalam pembayang jenis daripada __add__ tidak boleh diselesaikan. Ini menimbulkan soalan: Bagaimanakah anda boleh menentukan bahawa jenis pemulangan hendaklah daripada jenis Kedudukan?
Penyelesaian:
Dalam Python, terdapat tiga pendekatan utama untuk menaip pembayang kaedah dengan jenis kelas yang disertakan, bergantung pada versi Python yang anda gunakan:
Python 3.11 :
from typing import Self class Position: def __add__(self, other: Self) -> Self: ...
Python 3.7 dengan dari anotasi import __future__:
from __future__ import annotations class Position: def __add__(self, other: Position) -> Position: ...
Python 3.6 dan Terdahulu:
class Position: def __add__(self, other: 'Position') -> 'Position': ...
Penjelasan:
Keperluan Pra-Kompilasi:
Dalam versi Python sebelum 3.7, penggunaan rentetan dalam pembayang jenis memerlukan kelas tersebut dirujuk ditakrifkan sebelum penggunaannya dalam anotasi jenis. Jika tidak, anda akan menghadapi NameError.
Pertimbangan:
Ingat, pembayang jenis adalah pilihan, tetapi ia boleh meningkatkan kebolehbacaan kod, pemeriksaan ralat dan kebolehselenggaraan dengan ketara.
Atas ialah kandungan terperinci Bagaimana Menaip Petunjuk Kaedah dengan Jenis Kelas Melampirkan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!