Mengakses Kekunci Dict sebagai Atribut: Perangkap dan Penyelesaian
Mengakses kekunci dict menggunakan tatatanda titik (mis., obj.foo) adalah mudah, tetapi ia bukan ciri lalai dalam Python. Walaupun anda boleh mencipta subkelas seperti AttributeDict untuk mencapai matlamat ini, ia disertakan dengan kaveat tertentu.
Kaveat dan Kesalahan:
Penyelesaian Alternatif Menggunakan Kelas Data:
Sejak Python 3.7, kelas data menyediakan pendekatan yang lebih mantap dan disyorkan untuk mengaitkan atribut dengan kamus. Berikut ialah contoh penggunaan kelas data:
from dataclasses import dataclass @dataclass class MyData: foo: str bar: int data = MyData("Hello", 10) print(data.foo) # Output: "Hello"
Cara AttributeDict Berfungsi:
Dengan menetapkan atribut dict dalaman kepada tika AttrDict, ia menimpa dikt lalai dengan yang dipamerkan tingkah laku seperti dict. Ini bermakna akses atribut (cth., obj.foo) mendapatkan semula nilai yang disimpan dalam kekunci dict 'foo'.
Kesimpulan:
Semasa mencipta subkelas seperti AttributeDict boleh menyediakan akses kepada kunci dict sebagai atribut, adalah penting untuk mengetahui kaveatnya. Kelas data menawarkan alternatif yang lebih moden dan selamat untuk mengaitkan atribut dengan kamus dalam Python.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Kunci Kamus dengan Selamat sebagai Atribut dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!