Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Anda Boleh Mengakses Ahli Kamus Menggunakan Notasi Titik dalam Python?
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__
Untuk menunjukkan penggunaannya, mari buat contoh kamus:
mydict = {'val': 'it works'}
Sekarang, kami boleh menggunakan kelas dotdict kami untuk membungkus kamus ini:
mydict = dotdict(mydict)
Transformasi ini memberi kuasa kepada kami untuk mengakses ahli kamus menggunakan titik tatatanda:
mydict.val # 'it works'
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)
Kini, kita boleh mengakses nilai kamus bersarang dalam menggunakan satu siri titik:
mydict.nested.val # 'nested works too'
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!