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
Lepaskan: 2024-12-21 08:02:09
asal
462 orang telah melayarinya

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']
Salin selepas log masuk

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']
Salin selepas log masuk

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']
Salin selepas log masuk

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']
Salin selepas log masuk

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!

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