Bagaimanakah Anda Boleh Mengakses Ahli Kamus Menggunakan Notasi Titik dalam Python?

Patricia Arquette
Lepaskan: 2024-11-16 12:06:03
asal
831 orang telah melayarinya

How Can You Access Dictionary Members Using Dot Notation in Python?

Akses Notasi Titik kepada Ahli Kamus

Memanipulasi ahli kamus menggunakan pengindeksan tradisional (cth. mydict['val']) kadangkala menyusahkan. Soalan ini membincangkan cara untuk meningkatkan kebolehcapaian kamus dengan mendayakan notasi titik (mis., mydict.val). Selain itu, ia mencari penyelesaian untuk mengakses kamus bersarang dengan cara yang sama.

Kunci untuk mencapai akses notasi titik terletak pada mencipta kelas tersuai yang mewarisi daripada kelas dict terbina dalam. Dengan mentakrifkan kaedah __getattr__, __setattr__ dan __delattr__, kita boleh memintas akses atribut, tetapan dan operasi pemadaman dan mengubah halanya ke kamus asas. Berikut ialah contoh kelas sedemikian:

class dotdict(dict):
    """dot.notation access to dictionary attributes"""
    __getattr__ = dict.get
    __setattr__ = dict.__setitem__
    __delattr__ = dict.__delitem__
Salin selepas log masuk

Untuk menunjukkan penggunaannya, mari buat contoh kamus:

mydict = {'val': 'it works'}
Salin selepas log masuk

Sekarang, kami boleh menggunakan kelas dotdict kami untuk membungkus kamus ini:

mydict = dotdict(mydict)
Salin selepas log masuk

Transformasi ini memberi kuasa kepada kami untuk mengakses ahli kamus menggunakan titik tatatanda:

mydict.val
# 'it works'
Salin selepas log masuk

Selain itu, kita boleh memanjangkan konsep ini kepada kamus bersarang dengan mencipta lapisan tambahan tika dotdict. Sebagai contoh, kita boleh mencipta kamus bersarang dalam mydict dan menjadikannya boleh diakses melalui berbilang peringkat tatatanda titik:

nested_dict = {'val': 'nested works too'}
mydict = dotdict(mydict)
mydict.nested = dotdict(nested_dict)
Salin selepas log masuk

Kini, kita boleh mengakses nilai kamus bersarang dalam menggunakan satu siri titik:

mydict.nested.val
# 'nested works too'
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengakses Ahli Kamus Menggunakan Notasi Titik dalam 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