First Class functions in Python Last Updated : 04 Jan, 2025 Comments Improve Suggest changes Like Article Like Report First-class function is a concept where functions are treated as first-class citizens. By treating functions as first-class citizens, Python allows you to write more abstract, reusable, and modular code. This means that functions in such languages are treated like any other variable. They can be passed as arguments to other functions, returned as values from other functions, assigned to variables and stored in data structures.Characteristics of First-Class FunctionsAssigned to Variables: We can assign functions to variables.Passed as Arguments: We can pass functions as arguments to other functions.Returned from Functions: Functions can return other functions.Stored in Data Structures: Functions can be stored in data structures such as lists, dictionaries, etc.Assigning Functions to VariablesWe can assign a function to a variable and use the variable to call the function.Example: Python def msg(name): return f"Hello, {name}!" # Assigning the function to a variable f = msg # Calling the function using the variable print(f("Anurag")) OutputHello, Anurag! Explanation:function greet is assigned to the variable f.f is then used to call the function, demonstrating that functions can be treated like any other variable.Passing Functions as ArgumentsFunctions can be passed as arguments to other functions, enabling higher-order functions. Example: Python def msg(name): return f"Hello, {name}!" def fun1(fun2, name): return fun2(name) # Passing the greet function as an argument print(fun1(msg, "Bob")) OutputHello, Bob! Explanation:The fun1 function takes another function fun2 and a name as arguments.The msg function is passed to fun1, which then calls greet with the given name.Returning Functions from Other FunctionsA function can return another function, allowing for the creation of function factories. Example: Python def fun1(msg): def fun2(): return f"Message: {msg}" return fun2 # Getting the inner function func = fun1("Hello, World!") print(func()) OutputMessage: Hello, World! Explanation:The fun1 defines an fun2 and returns it.func stores the returned fun2, which can then be called later.Storing Functions in Data StructuresFunctions can be stored in data structures like lists or dictionaries.Example: Python def add(x, y): return x + y def subtract(x, y): return x - y # Storing functions in a dictionary d = { "add": add, "subtract": subtract } # Calling functions from the dictionary print(d["add"](5, 3)) print(d["subtract"](5, 3)) Output8 2 Explanation:Functions add and subtract are stored in a dictionary operations.Functions are accessed and called from the dictionary using their respective keys. Comment More infoAdvertise with us Next Article Assign Function to a Variable in Python M Mayank Agrawal Improve Article Tags : Python Practice Tags : python Similar Reads Python Functions Python Functions is a block of statements that return the specific task. The idea is to put some commonly or repeatedly done tasks together and make a function so that instead of writing the same code again and again for different inputs, we can do the function calls to reuse code contained in it ov 11 min read Python def Keyword Python def keyword is used to define a function, it is placed before a function name that is provided by the user to create a user-defined function. In Python, a function is a logical unit of code containing a sequence of statements indented under a name given using the âdefâ keyword. In Python def 6 min read Difference between Method and Function in Python Here, key differences between Method and Function in Python are explained. Java is also an OOP language, but there is no concept of Function in it. But Python has both concept of Method and Function. Python Method Method is called by its name, but it is associated to an object (dependent).A method d 3 min read First Class functions in Python First-class function is a concept where functions are treated as first-class citizens. By treating functions as first-class citizens, Python allows you to write more abstract, reusable, and modular code. This means that functions in such languages are treated like any other variable. They can be pas 2 min read Assign Function to a Variable in Python In Python, functions are first-class objects, meaning they can be assigned to variables, passed as arguments and returned from other functions. Assigning a function to a variable enables function calls using the variable name, enhancing reusability.Example:Python# defining a function def a(): print( 3 min read User-Defined FunctionsPython User Defined FunctionsA User-Defined Function (UDF) is a function created by the user to perform specific tasks in a program. Unlike built-in functions provided by a programming language, UDFs allow for customization and code reusability, improving program structure and efficiency.Example:Python# function defination def 6 min read Python User Defined FunctionsA User-Defined Function (UDF) is a function created by the user to perform specific tasks in a program. Unlike built-in functions provided by a programming language, UDFs allow for customization and code reusability, improving program structure and efficiency.Example:Python# function defination def 6 min read Python | How to get function name ?One of the most prominent styles of coding is following the OOP paradigm. For this, nowadays, stress has been to write code with modularity, increase debugging, and create a more robust, reusable code. This all encouraged the use of different functions for different tasks, and hence we are bound to 3 min read Python | How to get function name ?One of the most prominent styles of coding is following the OOP paradigm. For this, nowadays, stress has been to write code with modularity, increase debugging, and create a more robust, reusable code. This all encouraged the use of different functions for different tasks, and hence we are bound to 3 min read Defining a Python Function at RuntimeOne amazing feature of Python is that it lets us create functions while our program is running, instead of just defining them beforehand. This makes our code more flexible and easier to manage. Itâs especially useful for things like metaprogramming, event-driven systems and running code dynamically 3 min read Call a function by a String name - PythonIn this article, we will see how to call a function of a module by using its name (a string) in Python. Basically, we use a function of any module as a string, let's say, we want to use randint() function of a random module, which takes 2 parameters [Start, End] and generates a random value between 3 min read Explicitly define datatype in a Python functionUnlike other programming languages such as Java and C++, Python is a strongly, dynamically-typed language. This means that we do not have to explicitly specify the data type of function arguments or return values. Python associates types with values rather than variable names. However, if we want to 4 min read Built-in and Special FunctionsPython Built in FunctionsPython is the most popular programming language created by Guido van Rossum in 1991. It is used for system scripting, software development, and web development (server-side). Web applications can be developed on a server using Python. Workflows can be made with Python and other technologies. Databas 6 min read Python Lambda FunctionsPython Lambda Functions are anonymous functions means that the function is without a name. As we already know the def keyword is used to define a normal function in Python. Similarly, the lambda keyword is used to define an anonymous function in Python. In the example, we defined a lambda function(u 6 min read filter() in pythonThe filter() method filters the given sequence with the help of a function that tests each element in the sequence to be true or not. Let's see a simple example of filter() function in python:Example Usage of filter()Python# Function to check if a number is even def even(n): return n % 2 == 0 a = [1 3 min read Python map() functionThe map() function is used to apply a given function to every item of an iterable, such as a list or tuple, and returns a map object (which is an iterator). Let's start with a simple example of using map() to convert a list of strings into a list of integers.Pythons = ['1', '2', '3', '4'] res = map( 4 min read reduce() in PythonThe reduce(fun,seq) function is used to apply a particular function passed in its argument to all of the list elements mentioned in the sequence passed along. This function is defined in "functools" module.Basic Example:Letâs start with a simple example where we sum up all numbers in a list.Pythonfr 4 min read Global and Local VariablesGlobal keyword in PythonThe global keyword in Python allows a function to modify variables that are defined outside its scope, making them accessible globally. Without it, variables inside a function are treated as local by default. It's commonly used when we need to update the value of a global variable within a function, 4 min read Python Scope of VariablesIn Python, variables are the containers for storing data values. Unlike other languages like C/C++/JAVA, Python is not âstatically typedâ. We do not need to declare variables before using them or declare their type. A variable is created the moment we first assign a value to it. Python Scope variabl 5 min read Accessing Python Function Variable Outside the FunctionIn Python, function variables have local scope and cannot be accessed directly from outside. However, their values can still be retrieved indirectly. For example, if a function defines var = 42, it remains inaccessible externally unless retrieved indirectly.Returning the VariableThe most efficient w 4 min read Parameters and ArgumentsPython Function Parameters and ArgumentsParameters are variables defined in a function declaration. This act as placeholders for the values (arguments) that will be passed to the function. Arguments are the actual values that you pass to the function when you call it. These values replace the parameters defined in the function. Although t 3 min read Keyword and Positional Argument in PythonPython provides different ways of passing the arguments during the function call from which we will explore keyword-only argument means passing the argument by using the parameter names during the function call.Types of argumentsKeyword-only argumentPositional-only argumentDifference between the Key 4 min read How to find the number of arguments in a Python function?Finding the number of arguments in a Python function means checking how many inputs a function takes. For example, in def my_function(a, b, c=10): pass, the total number of arguments is 3. Some methods also count special arguments like *args and **kwargs, while others only count fixed ones.Using ins 4 min read Default arguments in PythonPython allows function arguments to have default values. If the function is called without the argument, the argument gets its default value.Default Arguments: Python has a different way of representing syntax and default values for function arguments. Default values indicate that the function argum 7 min read Passing function as an argument in PythonIn Python, functions are first-class objects meaning they can be assigned to variables, passed as arguments and returned from other functions. This enables higher-order functions, decorators and lambda expressions. By passing a function as an argument, we can modify a functionâs behavior dynamically 5 min read How to get list of parameters name from a function in Python?The task of getting a list of parameter names from a function in Python involves extracting the function's arguments using different techniques. These methods allow retrieving parameter names efficiently, whether from bytecode, introspection or source code analysis. For example, if a function fun(a, 4 min read How to Pass Optional Parameters to a Function in PythonIn Python, functions can have optional parameters by assigning default values to some arguments. This allows users to call the function with or without those parameters, making the function more flexible. When an optional parameter is not provided, Python uses its default value. There are two primar 5 min read Return StatementsHow to Pass Optional Parameters to a Function in PythonIn Python, functions can have optional parameters by assigning default values to some arguments. This allows users to call the function with or without those parameters, making the function more flexible. When an optional parameter is not provided, Python uses its default value. There are two primar 5 min read Returning Multiple Values in PythonIn Python, we can return multiple values from a function. Following are different ways 1) Using Object: This is similar to C/C++ and Java, we can create a class (in C, struct) to hold multiple values and return an object of the class. Python # A Python program to return multiple # values from a meth 4 min read Python None KeywordNone is used to define a null value or Null object in Python. It is not the same as an empty string, a False, or a zero. It is a data type of the class NoneType object. None in Python Python None is the function returns when there are no return statements. Python3 def check_return(): pass print(che 2 min read Returning a function from a function - PythonIn Python, functions are first-class objects, allowing them to be assigned to variables, passed as arguments and returned from other functions. This enables higher-order functions, closures and dynamic behavior.Example:Pythondef fun1(name): def fun2(): return f"Hello, {name}!" return fun2 # Get the 5 min read Like