Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Partial Functions (Hàm phần tử) trong Python


Mọi người đều thích viết mã có thể tái sử dụng, phải không? Thì partial function là một khái niệm thú vị để học. Partial function cho phép chúng ta dẫn xuất một hàm với x tham số thành một hàm với ít tham số hơn và các giá trị cố định cho hàm bị giới hạn hơn.

Chúng ta có thể viết ứng dụng hàm phần tử trong Python thông qua thư viện functools. Dưới đây là một ví dụ đơn giản về partial function từ thư viện functools với hàm add từ thư viện operator.

>>> from functools import *
>>> from operator import *
>>> add(1,2)
3
>>> add1 = partial(add, 4)
>>> add1(6)
10
>>> add1(10)
14

Partial là một higher-order function (hàm bậc cao) nhận một hàm làm đầu vào (giống như map và filter) nhưng nó cũng trả về một hàm có thể được sử dụng theo cùng cách như bất kỳ hàm nào khác trong chương trình của bạn.

>>> list(map(add1, [1, 2, 3, 4, 5]))
[5, 6, 7, 8, 9]
>>> seven = partial(add1, 3)
>>> seven()
7

Chúng ta cũng có thể sử dụng partial trên các phương thức đối tượng, ví dụ để tạo danh sách các chuỗi mặc định:

>>> str1 = "Hello, Python"
>>> helloStr = partial(str1.replace, "Python")
>>> helloStr("Tutorialspoint")
'Hello, Tutorialspoint'
>>> helloStr("Java")
'Hello, Java'

Ứng dụng hàm phần tử là công cụ rất hữu ích, đặc biệt là nơi bạn cần áp dụng một loạt đầu vào khác nhau cho một đối tượng đơn lẻ hoặc cần ràng buộc một trong các đối số của hàm để trở thành hằng số.

Hàm Python giúp bạn viết mã dễ dàng hơn và dễ dàng bảo trì hơn.