Functions in Python

From Sustainability Methods

Still in edition mode

Functions in Python

Functions in Python are reusable blocks of code that perform a specific task. They are used to structure programs into small, manageable, and modular components. By using functions, you can avoid repetition, improve code readability, and make debugging easier. Functions help in creating workflows that are efficient and easy to maintain.

Purpose of Functions

The primary purpose of functions is to break down complex problems into smaller, more manageable parts. For example, in a sustainable fashion project, you might create functions to calculate the environmental impact of different materials, apply discounts to products, or filter products based on sustainability criteria. This modular approach allows you to reuse code, make changes in one place, and streamline the development process.

Syntax and Structure

Functions in Python are defined using the def keyword, followed by the function name, parentheses containing any parameters, and a colon. The function body, which contains the code to be executed, is indented.

Syntax:

def function_name(parameters):
    # Code block to be executed
    return value  # Optional

Example:

def calculate_discount(price, discount_rate):
    """Calculate the discounted price of an item."""
    discounted_price = price * (1 - discount_rate)
    return discounted_price

This function, calculate_discount, takes two parameters: the original price and the discount rate. It calculates and returns the discounted price.

Usage:

original_price = 100
discount_rate = 0.2  # 20% discount
final_price = calculate_discount(original_price, discount_rate)
print(final_price)

Output:

80.0

User-Defined vs. Built-In Functions

Python provides a wide range of built-in functions like print(), len(), and sum(), which perform common tasks. These functions are always available in the Python environment and do not require any additional code to use.

User-Defined Functions

These are created by the programmer to perform specific tasks that are not covered by built-in functions. They are customized to meet the needs of a particular application.

Example of a User-Defined Function:

def is_sustainable(material):
    """Check if a material is considered sustainable."""
    sustainable_materials = ["organic cotton", "recycled polyester", "hemp"]
    return material in sustainable_materials
def is_sustainable(material):
    """Check if a material is considered sustainable."""
    sustainable_materials = ["organic cotton", "recycled polyester", "hemp"]
    return material in sustainable_materials


This function, is_sustainable, checks if a given material is considered sustainable based on a predefined list of materials. Breaking down each component:

  1. def is_sustainable(material): This line defines the function named is_sustainable. It takes one parameter, material, which is a string representing the name of a material (e.g., "organic cotton").
  1. sustainable_materials = ["organic cotton", "recycled polyester", "hemp"] This line creates a list called sustainable_materials containing materials that are considered sustainable. The function will check if the given material is in this list.
  1. return material in sustainable_materials This line returns True if the material is in the sustainable_materials list, and False otherwise. This allows the function to indicate whether the material is sustainable.

Applying the function:

material = "organic cotton"
if is_sustainable(material):
    print(f"{material} is a sustainable material.")
else:
    print(f"{material} is not a sustainable material.")

Output:

organic cotton is a sustainable material.

Built-In Functions

These are predefined functions available in Python. Examples include:

  • print(): Outputs data to the console.
  • len(): Returns the length of an object.
  • sum(): Adds all items in an iterable.

Example of a Built-In Function:

brands = ["Patagonia", "Everlane", "Allbirds"]
print(len(brands))  # Outputs the number of items in the list

Output:

3

Benefits of Using Functions

  1. Reusability: Functions can be called multiple times with different inputs, reducing code duplication.
  2. Modularity: Breaking down complex code into smaller functions makes it easier to read and maintain.
  3. Abstraction: Functions allow you to hide complex logic behind a simple interface, making your code more intuitive.
  4. Testing and Debugging: Isolating functionality within functions makes it easier to test and debug specific parts of your code.

The author of this entry is Gustavo Rodriguez. AI was used partially in the writing process.