Bolehkah Anda Mengakses Ahli Kamus Menggunakan Notasi Titik dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-15 04:03:02
asal
115 orang telah melayarinya

Can You Access Dictionary Members Using Dot Notation in Python?

Notasi Titik untuk Akses Kamus: Memanjangkan Kelas Kamus Python

Dalam Python, mengakses ahli kamus biasanya memerlukan notasi kurungan, seperti mydict[ 'kunci']. Walau bagaimanapun, adalah mungkin untuk menggunakan notasi titik untuk tujuan yang sama, menjadikannya lebih mudah dan boleh dibaca. Ini amat berguna untuk mengakses kamus bersarang.

Satu cara untuk mencapainya ialah dengan melaksanakan kelas tersuai yang melanjutkan kelas dict terbina dalam. Kelas dotdict dibentangkan di sini:

  • Mentakrifkan semula kaedah getattr untuk membenarkan mengakses kekunci kamus menggunakan notasi titik.
  • Mengatasi setattr dan Kaedah delattr untuk menjadikan tatatanda titik berfungsi untuk menetapkan dan memadam atribut.
class dotdict(dict):
    """dot.notation access to dictionary attributes"""
    __getattr__ = dict.get
    __setattr__ = dict.__setitem__
    __delattr__ = dict.__delitem__
Salin selepas log masuk

Untuk menggunakan kelas dotdict:

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

Kini, anda boleh akses ahli kamus menggunakan notasi titik:

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

Anda juga boleh mengakses kamus bersarang dengan cara yang sama:

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

Kaedah ini menyediakan cara yang mudah dan intuitif untuk berinteraksi dengan kamus, terutamanya apabila berurusan dengan struktur bersarang dalam.

Atas ialah kandungan terperinci Bolehkah Anda 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