Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah pengaturcaraan berfungsi dilaksanakan dalam Python?
Bagaimana pengaturcaraan berfungsi dilaksanakan dalam Python?
Functional Programming (FP) ialah paradigma pengaturcaraan yang memfokuskan pada operasi dan gabungan fungsi. Berbanding dengan pengaturcaraan imperatif tradisional, pengaturcaraan berfungsi lebih menumpukan pada nilai pulangan fungsi dan bukannya perubahan proses atau keadaan. Sebagai bahasa pengaturcaraan berbilang paradigma, Python juga menyediakan pelbagai alat pengaturcaraan berfungsi dan gula sintaks untuk memudahkan pembangun menggunakan idea pengaturcaraan berfungsi.
1. Fungsi ialah warga kelas pertama
Dalam pengaturcaraan berfungsi, fungsi dianggap sebagai warga kelas pertama dikembalikan sebagai nilai pulangan. Fungsi dalam Python boleh dengan mudah diberikan kepada pembolehubah dan dengan itu digunakan seperti pembolehubah.
def add(x, y): return x + y add_func = add print(add_func(2, 3)) # 输出5
Dalam kod di atas, fungsi tambah diberikan kepada pembolehubah add_func, dan kemudian fungsi itu boleh dipanggil melalui add_func.
2. Fungsi tertib tinggi
Fungsi tertib tinggi merujuk kepada fungsi yang boleh menerima satu atau lebih fungsi sebagai parameter, atau boleh mengembalikan fungsi. Python menyediakan beberapa fungsi pesanan tinggi terbina dalam, seperti peta, penapis, pengurangan, dll.
Fungsi peta boleh menggunakan fungsi pada setiap elemen objek boleh lelaran dan mengembalikan hasil lelaran.
numbers = [1, 2, 3, 4, 5] def square(x): return x**2 squared_numbers = map(square, numbers) print(list(squared_numbers)) # 输出[1, 4, 9, 16, 25]
Dalam kod di atas, fungsi peta menggunakan fungsi segi empat sama untuk setiap elemen senarai nombor dan mengembalikan hasil pengiraan sebagai senarai boleh lelar.
Fungsi penapis boleh menapis setiap elemen objek boleh lelar melalui fungsi dan hanya mengembalikan elemen yang memenuhi syarat.
numbers = [1, 2, 3, 4, 5] def is_even(x): return x % 2 == 0 even_numbers = filter(is_even, numbers) print(list(even_numbers)) # 输出[2, 4]
Dalam kod di atas, fungsi penapis menggunakan fungsi is_even pada setiap elemen senarai nombor dan mengembalikan elemen yang memenuhi syarat sebagai senarai lelaran.
Fungsi mengurangkan boleh menggunakan fungsi pada semua elemen objek boleh lelaran dan mengumpul hasilnya.
from functools import reduce numbers = [1, 2, 3, 4, 5] def add(x, y): return x + y sum = reduce(add, numbers) print(sum) # 输出15
Dalam kod di atas, fungsi pengurangan menggunakan fungsi tambah kepada semua elemen senarai nombor dan mengumpulkannya.
3. Fungsi tanpa nama
Fungsi tanpa nama ialah fungsi tanpa nama, juga dikenali sebagai fungsi lambda. Dalam pengaturcaraan berfungsi, fungsi tanpa nama sering digunakan bersama-sama dengan fungsi peringkat tinggi.
numbers = [1, 2, 3, 4, 5] squared_numbers = map(lambda x: x**2, numbers) print(list(squared_numbers)) # 输出[1, 4, 9, 16, 25] even_numbers = filter(lambda x: x % 2 == 0, numbers) print(list(even_numbers)) # 输出[2, 4]
Dalam kod di atas, fungsi lambda digunakan untuk menggantikan fungsi segi empat sama dan fungsi is_even yang ditakrifkan sebelum ini.
4. Penutupan
Penutupan merujuk kepada fungsi yang boleh mengingati dan mengakses pembolehubah dalam skop leksikalnya. Dalam pengaturcaraan berfungsi, penutupan boleh digunakan untuk menyimpan keadaan atau merangkum data.
def outer_function(x): def inner_function(y): return x + y return inner_function add_five = outer_function(5) print(add_five(3)) # 输出8
Dalam kod di atas, outer_function mengembalikan penutupan inner_function dan menyimpan parameter x secara dalaman. add_five bertindak sebagai penutup yang mengingati nilai x dan beroperasi dengan parameter yang diluluskan apabila dipanggil.
Ringkasan: Pengaturcaraan fungsional dalam Python dilaksanakan melalui ciri seperti fungsi sebagai warga kelas pertama, fungsi peringkat tinggi, fungsi tanpa nama dan penutupan. Ciri-ciri ini membolehkan pembangun menggunakan idea pengaturcaraan berfungsi dengan lebih mudah dan fleksibel pada reka bentuk program, meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
Atas ialah kandungan terperinci Bagaimanakah pengaturcaraan berfungsi dilaksanakan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!