Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menggunakan notasi titik untuk mengakses ahli kamus Python?

Bagaimanakah saya boleh menggunakan notasi titik untuk mengakses ahli kamus Python?

Barbara Streisand
Barbara Streisandasal
2024-11-14 20:31:02888semak imbas

How can I use dot notation to access members of a Python dictionary?

Mengakses Ahli Kamus melalui Notasi Titik dalam Python

Kamus Python biasanya menyediakan akses kepada ahli mereka menggunakan kurungan segi empat sama ([]). Untuk mendayakan notasi titik (.) untuk mengakses ahli, pertimbangkan pendekatan berikut:

Menggunakan Kelas dotdict:

Penyelesaian biasa melibatkan mencipta kelas tersuai yang dipanggil dotdict, yang memanjangkan kelas dict terbina dalam. Kelas ini menyediakan kaedah getattr__, __setattr__ dan __delattr yang diperlukan untuk menyokong akses notasi titik.

Berikut ialah contoh pelaksanaan:

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

Menggunakan dotdict:

Untuk menggunakan dotdict, tukarkan anda kamus sedia ada ke dalam contoh kelas dotdict. Ini membolehkan akses kepada ahli menggunakan notasi titik:

mydict = {'val':'it works'}
nested_dict = {'val':'nested works too'}
mydict = dotdict(mydict)
mydict.val
# 'it works'

mydict.nested = dotdict(nested_dict)
mydict.nested.val
# 'nested works too'

Dengan menggunakan dotdict, anda boleh mengakses ahli kamus dengan mudah menggunakan notasi titik yang lebih intuitif. Kamus bersarang juga boleh diakses dengan cara ini dengan membuat tika dotdict bersarang.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan notasi titik untuk mengakses ahli kamus 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