Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære High-Order Functions in Python: Passing Functions as Arguments | Function as an Argument in Python
Intermediate Python Techniques

book
High-Order Functions in Python: Passing Functions as Arguments

A high-order function in programming is a function that can either take other functions as arguments or return a function as its result, or both. This concept is closely related to first-class functions, which are treated like any other variable in a language (can be stored in a variable, passed as an argument to a function, or used in control statements). High-order functions are a key feature in functional programming, enabling more abstract or general-purpose code, facilitating code reuse, and making it easier to manipulate functions or data.

def square(x):
return x * x

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)

# Convert the map object to a list
squared_numbers_list = list(squared_numbers)
print(squared_numbers_list)
123456789
def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = map(square, numbers) # Convert the map object to a list squared_numbers_list = list(squared_numbers) print(squared_numbers_list)
copy

A classic example of a high-order function is the map function in Python. This function takes two arguments: a function and an iterable (like a list). It applies the given function to each item of the iterable and returns a map object (which can be easily converted into a list or another iterable type).

In this example:

  • square is a simple function that squares its input.

  • map is the high-order function that takes square and a list of numbers as arguments.

  • The result is each number in the list numbers squared.

Opgave

Swipe to start coding

Suppose you have a list of temperatures in Celsius, and you want to convert all of them to Fahrenheit. The goal will be to apply a custom transformation to each element in the list using map.

  • Create a list of numeric values representing temperatures in Celsius.
  • Define a function that converts a temperature from Celsius to Fahrenheit.
  • Apply the custom function to each element in the list using map.
  • Convert the result from map into a list and print it to see the converted temperatures.

Løsning

# Step 1: Define the list of temperatures in Celsius
temp_celsius = [0, 25, 30, 40, 100]

# Step 2: Create a custom function for conversion
def celsius_to_fahrenheit(celsius):
"""Convert temperature from Celsius to Fahrenheit."""
return (celsius * 9/5) + 32

# Step 3: Use map() with the custom function
temp_fahrenheit = map(celsius_to_fahrenheit, temp_celsius)

# Step 4: Convert the map object to a list and print
temp_fahrenheit_list = list(temp_fahrenheit)
print(temp_fahrenheit_list)

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
# Step 1: Define the list of temperatures in Celsius
temp_celsius = [0, 25, 30, 40, 100]

# Step 2: Create a custom function for conversion
def celsius_to_fahrenheit(celsius):
"""Convert temperature from Celsius to Fahrenheit."""
___ (___ * 9/5) + 32

# Step 3: Use map() with the custom function
temp_fahrenheit = map(___, ___)

# Step 4: Convert the map object to a list and print
temp_fahrenheit_list = list(___)
print(temp_fahrenheit_list)

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt