Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Anotasi Pembolehubah Meningkatkan Petua Jenis dalam Python?

Bagaimanakah Anotasi Pembolehubah Meningkatkan Petua Jenis dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-03 22:41:11640semak imbas

How Do Variable Annotations Enhance Type Hints in Python?

Memahami Anotasi Pembolehubah dalam Python

Python 3.6 memperkenalkan anotasi pembolehubah sebagai lanjutan kepada pembayang jenis yang diperkenalkan dalam PEP 484. Anotasi ini menyediakan mekanisme untuk menentukan jenis pembolehubah yang dijangka, termasuk kelas dan contoh pembolehubah.

Rasional dan Sintaks

Anotasi pembolehubah berfungsi sebagai penambahbaikan berbanding jenis ulasan. Daripada menganotasi jenis menggunakan ulasan # jenis, sintaks baharu membenarkan anotasi jenis langsung semasa penugasan berubah:

primes: List[int] = []
captain: str  # Note: no initial value!

class Starship:
    stats: Dict[str, int] = {}

Taip Metadata dan anotasi Atribut

Anotasi pemboleh ubah disimpan dalam khas anotasi atribut dilampirkan pada kelas dan modul. Atribut ini mengandungi pemetaan nama pembolehubah kepada jenis beranotasinya:

__main__.__annotations__ = {'primes': List[int]}
Starship.__annotations__ = {'stats': Dict[str, int]}

Faedah dan Penggunaan

Anotasi pembolehubah mendayakan faedah berikut:

  • Alat semakan jenis yang dipertingkatkan
  • Kod yang lebih jelas dokumentasi
  • Kebolehbacaan kod dipertingkatkan

Sifat Pilihan

Sama seperti petunjuk taip, anotasi pembolehubah adalah pilihan. Mereka menyediakan cara yang mudah untuk menyampaikan maklumat jenis kepada alatan pihak ketiga.

ClassVar dan Pembolehubah Instance

Walaupun contoh dalam soalan menunjukkan bahawa statistik ialah pembolehubah kelas , ia sebenarnya pembolehubah contoh. Pembolehubah kelas diberi anotasi menggunakan ClassVar[type], yang menandakan pembolehubah yang dikongsi antara semua kejadian kelas.

Atas ialah kandungan terperinci Bagaimanakah Anotasi Pembolehubah Meningkatkan Petua Jenis dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn