Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menjejak dan Mendapatkan Pembolehubah Contoh dengan Cekap dalam Kelas Python?

Bagaimana untuk Menjejak dan Mendapatkan Pembolehubah Contoh dengan Cekap dalam Kelas Python?

Susan Sarandon
Lepaskan: 2024-10-27 07:37:02
asal
536 orang telah melayarinya

 How to Efficiently Track and Retrieve Instance Variables in Python Classes?

Menjejaki Kejadian Kelas untuk Koleksi Pembolehubah

Mengekalkan senarai kejadian untuk kelas tertentu membolehkan pengambilan semula pembolehubah tertentu yang cekap daripada setiap tika di peringkat program kemudian.

Pendekatan Pembolehubah Kelas

Kaedah yang sesuai untuk menjejak kejadian kelas ialah menggunakan pembolehubah kelas. Contoh berikut menggambarkan pendekatan ini:

class Foo:
    instances = []

    def __init__(self):
        self.x = {}
        Foo.instances.append(self)
Salin selepas log masuk

Teknik ini mencipta contoh senarai kongsi dalam kelas. Memandangkan setiap tika dibuat, ia melampirkan dirinya pada senarai.

Mendapatkan Kembali Pembolehubah Contoh

Untuk mengumpul x kamus daripada semua kejadian pada akhir program, cipta kamus baharu:

foo_vars = {id(instance): instance.x for instance in Foo.instances}
Salin selepas log masuk

Di sini, id() menyediakan pengecam unik untuk setiap tika, membolehkan penciptaan kamus dengan ID tika sebagai kunci dan kamus x sebagai nilai.

Senarai Dikongsi

Pendekatan pembolehubah kelas memastikan bahawa hanya satu senarai, kejadian, dikekalkan merentas semua kejadian, tanpa mengira bilangannya. Ini menghapuskan keperluan untuk menjejaki senarai individu untuk setiap contoh.

Atas ialah kandungan terperinci Bagaimana untuk Menjejak dan Mendapatkan Pembolehubah Contoh dengan Cekap dalam Kelas Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan