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

DDD
Lepaskan: 2024-10-31 16:03:02
asal
654 orang telah melayarinya

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

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!