Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Memilih Pembolehubah dalam Python Menggunakan Input Rentetan?

Bagaimanakah Saya Boleh Memilih Pembolehubah dalam Python Menggunakan Input Rentetan?

Patricia Arquette
Lepaskan: 2024-12-21 01:17:09
asal
931 orang telah melayarinya

How Can I Select Variables in Python Using a String Input?

Memilih Pembolehubah mengikut Nama Rentetan

Untuk memilih pembolehubah berdasarkan input rentetan, terdapat beberapa pendekatan yang berdaya maju.

Kamus

Kamus biasa selalunya sesuai untuk ini tugas:

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']}

get_ext['video']  # returns ['mp4', 'mkv']
Salin selepas log masuk

Fungsi

Jika fungsi diperlukan atas sebab tertentu, anda boleh menetapkan kepada kaedah get kamus:

get_ext = get_ext.get  # Equivalent to get_ext = lambda key: get_ext.get(key)
get_ext('video')  # returns ['mp4', 'mkv']
Salin selepas log masuk

Ini akan mengembalikan Tiada untuk kunci yang tidak diketahui secara lalai. Untuk menaikkan KeyError sebaliknya, tetapkan kepada get_ext.__getitem__:

get_ext = get_ext.__getitem__  # Equivalent to get_ext = lambda key: get_ext.__getitem__(key)
get_ext('video')  # returns ['mp4', 'mkv']
Salin selepas log masuk

Nilai Lalai Tersuai

Anda boleh melaksanakan nilai lalai tersuai dengan membungkus kamus dalam fungsi:

def get_ext(file_type):
    types = {'text': ['txt', 'doc'],
             'audio': ['mp3', 'wav'],
             'video': ['mp4', 'mkv']}

    return types.get(file_type, [])
Salin selepas log masuk

Mengoptimumkan

Untuk mengelak daripada mencipta semula kamus pada setiap panggilan fungsi, anda boleh menggunakan kelas:

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()
Salin selepas log masuk

Ini membolehkan pengubahsuaian mudah jenis fail yang diiktiraf:

get_ext.types['binary'] = ['bin', 'exe']
get_ext('binary')  # returns ['bin', 'exe']
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Pembolehubah dalam Python Menggunakan Input Rentetan?. 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