Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengakses Pembolehubah Python Menggunakan Nama Rentetannya?

Bagaimanakah Saya Boleh Mengakses Pembolehubah Python Menggunakan Nama Rentetannya?

Susan Sarandon
Susan Sarandonasal
2024-12-21 08:02:09508semak imbas

How Can I Access Python Variables Using Their String Names?

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!

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