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!