Mengakses Pembolehubah mengikut Nama Rentetan
Dalam Python, anda mungkin menghadapi situasi di mana anda ingin mengakses pembolehubah secara dinamik mengikut nama rentetannya. Untuk mencapai matlamat ini, terdapat beberapa pendekatan yang boleh anda pertimbangkan.
Menggunakan Kamus
Satu kaedah biasa ialah menggunakan kamus untuk mengaitkan nama rentetan dengan nilai yang sepadan. Berikut ialah contoh:
get_ext = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } print(get_ext['audio']) # Output: ['mp3', 'wav']
Menetapkan kepada Kaedah 'get' Kamus
Sebagai alternatif, anda boleh menetapkan kaedah 'dapat' kamus kepada pembolehubah atau fungsi. Ini menyediakan cara ringkas untuk mengakses nilai berdasarkan nama rentetan.
get_ext = get_ext.get print(get_ext('video')) # Output: ['mp4', 'mkv']
Menggunakan Fungsi Tersuai
Jika anda lebih suka pendekatan berasaskan fungsi, anda boleh membalut kamus di dalam fungsi dan mengendalikan kekunci yang tidak diketahui seperti yang diperlukan. Contohnya:
def get_ext(file_type): types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } return types.get(file_type, []) print(get_ext('audio')) # Output: ['mp3', 'wav']
Menggunakan Pendekatan Berasaskan Kelas
Untuk senario yang lebih kompleks, anda boleh mencipta kelas untuk mengurus carian pembolehubah. Ini memberikan fleksibiliti dan membolehkan kemas kini dinamik kepada jenis fail yang diiktiraf. Contohnya:
class get_ext(object): def __init__(self): self.types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } def __call__(self, file_type): return self.types.get(file_type, []) get_ext = get_ext() print(get_ext('audio')) # Output: ['mp3', 'wav'] get_ext.types['binary'] = ['bin', 'exe'] print(get_ext('binary')) # Output: ['bin', 'exe']
Dengan menerima teknik ini, anda boleh mengakses pembolehubah dengan berkesan mengikut nama rentetan dalam Python, membolehkan corak pengaturcaraan yang fleksibel dan dinamik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Python Menggunakan Nama Rentetannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!