Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menyimpan dan Menggunakan Fungsi dengan Cekap dalam Struktur Data Python?

Bagaimanakah Saya Boleh Menyimpan dan Menggunakan Fungsi dengan Cekap dalam Struktur Data Python?

Barbara Streisand
Lepaskan: 2024-10-29 01:01:30
asal
523 orang telah melayarinya

How Can I Store and Invoke Functions Efficiently in Python Data Structures?

Menyimpan Fungsi dalam Struktur Data untuk Invokasi Fleksibel

Apabila bekerja dengan kod Python, selalunya berguna untuk menyimpan fungsi dalam cara berstruktur untuk masa jalan seruan. Semasa cuba membuat senarai atau kamus dengan fungsi, anda mungkin mengalami pengehadan seperti yang diterangkan dalam soalan anda:

mydict = {
    'funcList1': [foo(), bar(), goo()],
    'funcList2': [foo(), goo(), bar()]}
Salin selepas log masuk

Pendekatan ini mengakibatkan penggunaan fungsi serta-merta, yang membawa kepada tingkah laku yang salah. Untuk menangani isu ini, kami memerlukan struktur data yang sesuai yang membolehkan kami mengaitkan fungsi dengan pengecam untuk pemanggilan kemudian.

Menggunakan Kamus untuk Penghantaran Fungsi

Fungsi Python adalah yang pertama -objek kelas, bermakna ia boleh diberikan kepada pembolehubah dan disimpan dalam struktur data. Untuk menyimpan fungsi dalam kamus, anda harus menetapkannya secara langsung sebagai nilai, memastikan ia adalah objek fungsi dan bukannya hasil seruannya.

Contohnya:

dispatcher = {'foo': foo, 'bar': bar}
Salin selepas log masuk

Dalam kamus ini , kunci adalah pengecam dan nilai adalah rujukan kepada objek fungsi sebenar. Untuk menggunakan fungsi 'foo', cuma panggil dispatcher['foo']().

Menyimpan Berbilang Fungsi dalam Senarai

Jika anda perlu menyimpan berbilang fungsi sebagai satu kumpulan, anda boleh menggunakan senarai. Walau bagaimanapun, menggunakan senarai fungsi secara manual boleh menyusahkan. Untuk menangani perkara ini, anda boleh mencipta fungsi pembantu untuk mengulangi senarai dan menggunakan 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

Kod ini akan menggunakan kedua-dua fungsi 'foo' dan 'bar' apabila fire_all(dispatcher['foobar' ]) dipanggil.

Kesimpulan

Menggunakan kamus atau senarai untuk menyimpan fungsi menyediakan pendekatan yang fleksibel dan berstruktur untuk mengurus dan menggunakan fungsi secara dinamik. Ini membolehkan anda mencipta komponen boleh guna semula dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Menggunakan Fungsi dengan Cekap 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan