Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
Barbara Streisandasal
2024-10-31 22:40:28265semak imbas

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>

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>

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>

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!

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