Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menyimpan dan mendapatkan semula fungsi dalam struktur data Python?

Bagaimanakah saya boleh menyimpan dan mendapatkan semula fungsi dalam struktur data Python?

DDD
DDDasal
2024-10-31 16:03:02642semak imbas

How can I store and retrieve functions in Python data structures?

Menyimpan Fungsi dalam Struktur Data untuk Pendapatan Semula

Menyimpan fungsi dalam senarai atau kamus membolehkan pelaksanaan terpilih berdasarkan indeks atau kunci. Walau bagaimanapun, pendekatan naif untuk menyimpan panggilan fungsi dalam struktur data tidak menghasilkan hasil yang diingini.

Sokongan Python untuk fungsi sebagai objek kelas pertama menawarkan penyelesaian yang elegan. Dengan menganggap fungsi sebagai objek, ia boleh dihantar menggunakan kamus. Kekunci mewakili fungsi, manakala nilai adalah objek fungsi itu sendiri. Untuk melaksanakan fungsi, hanya panggil item kamus sebagai fungsi dengan kurungan.

dispatcher = {'foo': foo, 'bar': bar}
dispatcher['foo']()

Untuk kes di mana berbilang fungsi disimpan sebagai senarai dalam kamus, gelung boleh digunakan untuk melaksanakan setiap fungsi.

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

dispatcher = {'foobar': [foo, bar], 'bazcat': [baz, cat]}
fire_all(dispatcher['foobar'])

Pendekatan ini membolehkan penyimpanan dan mendapatkan semula fungsi yang mudah, terutamanya untuk nombor yang besar di mana mengingati nama fungsi tertentu menjadi menyusahkan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyimpan dan mendapatkan semula fungsi dalam struktur data Python?. 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