Rumah > Artikel > pembangunan bahagian belakang > Penjelasan terperinci tentang fungsi tanpa nama dalam Python
Penjelasan terperinci tentang fungsi tanpa nama dalam Python
Python ialah bahasa pengaturcaraan peringkat tinggi, berorientasikan objek, sangat berskala dan telah digunakan secara meluas dalam pengiraan matematik, pemprosesan data dan bidang lain. Python menyokong pengaturcaraan berfungsi, di mana fungsi tanpa nama adalah bahagian penting dalam pengaturcaraan berfungsi. Artikel ini akan memperkenalkan fungsi tanpa nama dalam Python secara terperinci.
Apakah fungsi tanpa nama?
Fungsi tanpa nama, juga dipanggil fungsi lambda, ialah fungsi tanpa nama fungsi. Ia adalah fungsi sekali sahaja yang ditakrifkan apabila diperlukan dan dibuang selepas digunakan. Sebagai contoh, kita boleh mentakrifkan fungsi tanpa nama mudah seperti ini:
lambda x: x**2
Maksud fungsi tanpa nama di atas ialah untuk lulus dalam parameter x dan mengembalikan kuasa dua x. Perhatikan bahawa tiada nama fungsi di sini dan kata kunci lambda digunakan untuk mewakili fungsi tanpa nama.
Struktur tatabahasa fungsi lambda
Struktur tatabahasa fungsi lambda ialah:
lambda arguments: expression
Antaranya, hujah mewakili parameter yang diluluskan, dan ungkapan ialah ungkapan . Seperti dalam contoh sebelumnya, hujah-hujahnya ialah x dan ungkapan ialah kuasa dua bagi x.
Selain itu, fungsi lambda boleh mempunyai berbilang parameter, dipisahkan dengan koma, sebagai contoh:
lambda x, y: x + y
Maksud fungsi lambda di atas ialah memasukkan dua parameter x dan y dan mengembalikannya jumlah.
Menggunakan fungsi lambda
Terdapat banyak cara untuk menggunakan fungsi tanpa nama dalam Python. Berikut adalah beberapa kaedah biasa.
1. Berikan fungsi lambda kepada pembolehubah
Kita boleh menetapkan fungsi lambda kepada pembolehubah, dan kemudian memanggil fungsi tanpa nama melalui nama pembolehubah. Contohnya:
f = lambda x: x**2 print(f(4)) # 输出16
Kod di atas mentakrifkan fungsi lambda, memberikannya kepada pembolehubah f, dan kemudian memanggil f(4) untuk mengembalikan nilai kuasa dua 4, 16.
2. Hantarkan fungsi lain sebagai parameter
Apabila memanggil fungsi lain, kita boleh lulus fungsi lambda sebagai parameter untuk melaksanakan fungsi yang berbeza. Contohnya:
def apply(func, n): return func(n) print(apply(lambda x: x**2, 5)) # 输出25
Dalam kod di atas, fungsi guna menerima dua parameter, parameter pertama ialah fungsi dan parameter kedua ialah nombor. Apabila parameter kedua (di sini nombor 5) diluluskan, fungsi ini akan dipanggil sebagai parameter pertama, melepasi nombor 5 sebagai parameter. Ungkapan fungsi lambda x**2 dihantar ke fungsi guna sebagai hujah pertama, jadi 25 adalah output.
3. Gunakan dalam kombinasi dengan fungsi lain
fungsi lambda sering digunakan dalam kombinasi dengan fungsi lain, seperti fungsi penapis dan fungsi peta. Fungsi penapis mengambil senarai (atau objek lelaran lain) sebagai parameter pertama dan mengembalikan senarai baharu yang mengandungi hanya elemen yang memenuhi syarat. Fungsi peta mengambil senarai (atau objek lelaran lain) sebagai parameter pertama dan mengembalikan senarai baharu yang diproses oleh fungsi tersebut.
Sebagai contoh, kod berikut menunjukkan penggunaan menggabungkan fungsi penapis dan fungsi lambda:
my_list = [1, 3, 5, 6, 8, 9] filtered_list = list(filter(lambda x: x % 3 == 0, my_list)) print(filtered_list) # 输出[3, 6, 9]
Dalam kod di atas, fungsi penapis digunakan untuk menapis senarai my_list, dan fungsi lambda digunakan untuk mengembalikan nilai yang boleh dibahagikan dengan 3 elemen, dan akhirnya memberikan hasilnya kepada filtered_list.
Kesimpulan
Artikel ini memperkenalkan definisi, struktur tatabahasa dan penggunaan fungsi tanpa nama dalam Python. Fungsi tanpa nama sering digunakan dalam kombinasi dengan fungsi lain untuk memudahkan kod dan meningkatkan kebolehbacaan kod. Mahir dalam penggunaan fungsi tanpa nama boleh membantu meningkatkan kualiti kod dan kecekapan kerja.
Atas ialah kandungan terperinci Penjelasan terperinci tentang fungsi tanpa nama dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!