Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Perbezaan Antara Pembolehubah Ditakrifkan Di Dalam dan Di Luar `__init__()` dalam Python?
Menyelidiki Perbezaan Antara Pembolehubah Dalam dan Luar __init__()
Pertimbangkan dua kelas berikut:
<code class="python">class WithClass (): def __init__(self): self.value = "Bob" def my_func(self): print(self.value) class WithoutClass (): value = "Bob" def my_func(self): print(self.value)</code>
Pada pandangan pertama, kelas ini kelihatan sama. Walau bagaimanapun, perbezaan yang halus terletak pada penempatan pembolehubah nilai. Dalam kelas pertama (WithClass), nilai dimulakan dalam kaedah __init__(), manakala dalam kelas kedua (TanpaClass), ia diisytiharkan di luar kaedah.
Variables Outside __init__() (Class Atribut) lwn. Pembolehubah Di Dalam __init__() (Atribut Instance)
Penempatan pembolehubah menentukan sama ada ia adalah atribut kelas atau atribut instance.
Akibat Peletakan
Pembezaan ini mempunyai kesan untuk kelakuan dan penyelenggaraan kod.
Pilihan Peletakan
Pilihan tempat untuk meletakkan pembolehubah bergantung pada cara anda mahu ia berkelakuan dalam kelas. Jika anda mahukan nilai kongsi yang kekal malar merentas kejadian, gunakan atribut kelas. Jika anda mahukan nilai unik untuk setiap tika, ciptanya dalam __init__() sebagai atribut contoh.
Dengan memahami perbezaan antara pembolehubah di dalam dan di luar __init__(), anda boleh mereka bentuk kelas dengan tingkah laku yang jelas dan boleh diramal, mengelakkan kemungkinan kekeliruan dan perangkap.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Pembolehubah Ditakrifkan Di Dalam dan Di Luar `__init__()` dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!