Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah anda boleh menyimpan dan melaksanakan fungsi dalam Python menggunakan kamus dan senarai?

Bagaimanakah anda boleh menyimpan dan melaksanakan fungsi dalam Python menggunakan kamus dan senarai?

Barbara Streisand
Lepaskan: 2024-10-31 22:40:28
asal
373 orang telah melayarinya

How can you store and execute functions in Python using dictionaries and lists?

Menyimpan dan Membakar Fungsi dalam Python

Untuk mengelakkan kenyataan def yang sukar digunakan dan memudahkan pengurusan berbilang fungsi, kami meneroka kaedah untuk menyimpan fungsi dalam struktur data, membolehkan pelaksanaannya apabila diindeks atau dikunci.

Menggunakan Kamus untuk Fungsi Dispatch

Fungsi ialah objek kelas pertama dalam Python, membenarkannya disimpan dan dihantar menggunakan kamus. Pertimbangkan contoh berikut:

<code class="python">dispatcher = {'foo': foo, 'bar': bar}</code>
Salin selepas log masuk

Dalam kamus ini, foo dan bar ialah objek fungsi, bukan tika boleh panggil (cth., foo() atau bar()). Untuk memanggil foo, gunakan:

<code class="python">dispatcher['foo']()</code>
Salin selepas log masuk

Menyimpan Berbilang Fungsi dalam Senarai

Jika anda ingin melaksanakan berbilang fungsi yang dikumpulkan dalam senarai, pendekatan yang mungkin ialah:

<code class="python">dispatcher = {'foobar': [foo, bar], 'bazcat': [baz, cat]}

def fire_all(func_list):
    for f in func_list:
        f()

fire_all(dispatcher['foobar'])</code>
Salin selepas log masuk

Dalam kes ini, kekunci 'foobar' memetakan kepada senarai fungsi. Fungsi fire_all berulang ke atas senarai dan melaksanakan setiap fungsi.

Atas ialah kandungan terperinci Bagaimanakah anda boleh menyimpan dan melaksanakan fungsi dalam Python menggunakan kamus dan senarai?. 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