Tôi đang nghiên cứu tính chất của hàm trong Python và tôi đã xem một bài tập yêu cầu:Chức năng Gọi với 3 hoặc nhiều trường nhập đối số - hàm()()()
Viết hàm trả về de power của một số. Điều kiện: Hàm chỉ có thể lấy 1 đối số và phải sử dụng hàm khác để trả về giá trị của sức mạnh của một số đã cho.
Các mã mà giải quyết bài tập này là:
def power(x):
return lambda y: y**x
Ví dụ, nếu chúng ta muốn biết giá trị của sức mạnh: 2^3, chúng tôi sẽ gọi hàm như thế này: sức mạnh (3) (2)
Dưới đây là những gì tôi muốn biết:
có cách nào để viết một hàm rằng, khi được gọi, có cấu trúc tương tự: function()()(). Nói cách khác, có thể viết một hàm, yêu cầu ba hoặc nhiều dấu ngoặc đơn()()() khi được gọi? Nếu có thể, vui lòng cho tôi một mã ví dụ về chức năng đó và giải thích ngắn gọn về nó?
Ngoài ra:
def power(x):
def power_extra(y):
return y
def power_another(z):
return z
return power_extra and power_another
có thể?
Để biết thông tin của bạn, điều này được gọi là currying. – rlms