How to use higher-order functions in Python

2 Answers

0 votes
# A higher‑order function is a function that does at least one of the following:
# 1. Takes another function as an argument
# 2. Returns a function as its result
# If it does either one, it qualifies.

# Higher-order function: takes a function as an argument
def applyTwice(fn, x):
    return fn(fn(x))

# A simple function to pass in
def add3(n):
    return n + 3

# Use the higher-order function
result = applyTwice(add3, 5)  # 5 + 3 = 8 + 3 = 11

print(result)



"""
run:

11

"""

 



answered 15 hours ago by avibootz
0 votes
# A higher‑order function is a function that does at least one of the following:
# 1. Takes another function as an argument
# 2. Returns a function as its result
# If it does either one, it qualifies.

# makeMultiplier is a higher‑order function because it RETURNS another function
def makeMultiplier(n):

    # This inner function forms a closure and remembers the value of n
    def inner(x):
        return x * n  # Uses the captured value n

    return inner

# double_val is now a function created by makeMultiplier(2)
# It remembers n = 2 through closure
double_val = makeMultiplier(2)

# Calling double_val(10) multiplies 10 by the captured n (which is 2)
print(double_val(10))


"""
run:

20

"""

 



answered 15 hours ago by avibootz
...