TGViewer
Artificial Intelligence Artificial Intelligence @machinelearning_deeplearning · 56.3K subscribers
Post #1864 2.66K
🚀 Welcome back to our AI Engineer Roadmap! ❤️

In the previous post, we explored functions and their significance in programming. Now, let's delve deeper into some advanced concepts related to functions that will further enhance your programming skills.

📖 Phase 1: Programming Fundamentals

📌 Topic 12: Advanced Function Concepts

Understanding advanced function concepts will help you write more efficient, readable, and maintainable code.

1. Lambda Functions

Lambda functions are small anonymous functions defined using the lambda keyword. They can take any number of arguments but only have one expression.

Example:

add = lambda x, y: x + y
print(add(5, 3)) # Output: 8


Lambda functions are often used for short operations where defining a full function would be unnecessary.

2. Higher-Order Functions

Higher-order functions are functions that can take other functions as arguments or return them as results.

Example:

def square(x):
return x * x

def apply_function(func, value):
return func(value)

result = apply_function(square, 5)
print(result) # Output: 25


In this example, apply_function takes another function as a parameter and applies it to the given value.

3. Map, Filter, and Reduce

These built-in functions allow you to apply operations on collections like lists.

• map() applies a function to all items in an iterable.

Example:

  numbers = [1, 2, 3, 4]
squares = list(map(lambda x: x * x, numbers))
print(squares) # Output: [1, 4, 9, 16]


• filter() filters items out of an iterable based on a condition.

Example:

  even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # Output: [2, 4]


• reduce() (from the functools module) reduces an iterable to a single value using a binary function.

Example:

  from functools import reduce

total = reduce(lambda x, y: x + y, numbers)
print(total) # Output: 10


4. Decorators

Decorators are a powerful way to modify the behavior of a function or class. They allow you to "wrap" another function to extend its behavior without permanently modifying it.

Example:

def decorator_function(original_function):
def wrapper_function():
print("Wrapper executed before {}".format(original_function.__name__))
return original_function()
return wrapper_function

@decorator_function
def display():
print("Display function executed")

display()


Output:

Wrapper executed before display
Display function executed


The @decorator_function syntax is a shorthand for applying the decorator.

5. Function Annotations

Python allows you to add annotations to function parameters and return values for better documentation.

Example:

def greet(name: str) -> str:
return f"Hello, {name}"

print(greet("Alice")) # Output: Hello, Alice


Annotations don't affect the program's execution but serve as hints for developers.

6. Recursive Functions

A recursive function is one that calls itself to solve a problem. It must have a base case to prevent infinite recursion.

Example:

def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)

print(factorial(5)) # Output: 120


In this example, factorial calls itself until it reaches the base case of n == 0.

7. Scope of Variables

Understanding variable scope is crucial when working with functions.

• Local Scope: Variables defined inside a function are local to that function.

• Global Scope: Variables defined outside any function are global and can be accessed throughout the program.

Example:

x = "global"

def my_function():
global x
x = "local"
print("Inside function:", x)

my_function()
print("Outside function:", x)


Output:

Inside function: local
Outside function: local


Here, the global keyword allows the function to modify the global variable x.

➡️ Double Tap ❤️ For More
  • ❤ 11
More from @machinelearning_deeplearning
  1. Sep 22, 2026🚀 Welcome back to our AI Engineer Roadmap! ❤️ In the previous posts, we learned about fun…
  2. Sep 20, 2026In the previous post, we learned how conditional statements allow Python programs to make…
  3. Sep 19, 2026In the previous post, we explored Python operators and even tested ourselves with some tri…
  4. Sep 18, 2026In the previous post, we learned how to convert one data type into another using Type Cast…
  5. Sep 17, 2026In the previous post, we learned how to take input from users and display output. One impo…
  6. Sep 16, 2026🚀 GigaChat 3.5 Reasoning — a new open-source LLM that thinks before it answers. It breaks…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →