Blog_Banner_Asset
    Homebreadcumb forward arrow iconBlogbreadcumb forward arrow iconData Sciencebreadcumb forward arrow iconMost Important Python Functions [With Examples] | Types of Functions

Most Important Python Functions [With Examples] | Types of Functions

Last updated:
27th Mar, 2020
Views
Read Time
8 Mins
share image icon
In this article
Chevron in toc
View All
Most Important Python Functions [With Examples] | Types of Functions

Only a few years ago, Java was the leading programming language, with a user base of over 7.6 million people.

However, today, Python has surpassed this number and is the preferred choice of 8.2 million developers!

The ease of programming and the time-saving capabilities of Python has made most companies use it for various purposes and python developer salary in India is a proof for that.

Because of the increase in demand for Python developers, people are now looking to learn how to code in Python and the different functions in Python.

In this article, we will be focusing on various Python functions and how to code using these functions.

But first, let’s understand…

What are the Functions in Python?

A series of statements that take inputs and perform specific computations to give output is called a function.

This helps in eliminating the need to write the same code over and over again since you can simply call a function to get output for varying inputs.

What does that tell you?

Python helps control the size of a program and makes it more manageable, thus avoiding repetition.

Python already has a list of built-in functions, including print().

Syntax of a Python Function

Here’s what a general syntax of a Python function looks like:

def function_name(parameter list):

    statements, i.e. the function body

What does this jargon even mean?

  • def means the start of the function header.
  • Function name is a name given to the function to identify it.
  • Parameter list is meant to pass values to a function.
  • The colon indicates the end of the function header.
  • Statements (one or more) define the body of the function.

Calling a Python Function

It’s quite easy to call a function in Python.

Just use the function name after parentheses.

Example:

def my_function():
  print(“Hello from upGrad!”)

my_function()

Output:

Hello from upGrad!

In this, when you called the function, you got the statement that you had entered in the print function.

Pretty easy, wasn’t it?

Arguments in Python

All information that is passed into functions is done via arguments.

You define an argument inside the parentheses after the name of the function.

As long as you separate all arguments with a comma, you can create as many as you want.

Here is an example containing a function with one argument.

In this, you ask the user to enter the city name and it is printed with the country name.

Example:

def my_function(cityname):
  print(cityname + “, India”)

my_function(“Delhi”)
my_function(“Mumbai”)
my_function(“Chennai”)

Output:

Delhi, India
Mumbai, India
Chennai, India

Now let’s see what happens when you use two arguments and separate them by a comma.

Example:

def my_function(cityname, countryname):
  print(cityname + “, ” + countryname)

my_function(“Lucknow”, “India”)

Output:

Lucknow,India

Note that if you define two arguments in the function, you must call it with two arguments. Otherwise, it will result in an error:

Traceback (most recent call last):
File “./prog.py”, line 4, in <module>
TypeError: my_function() missing 1 required positional argument: ‘countryname’

Return Values in Python

In order to make a function return a value, use the return statement.

Example:

def my_function(x):
  return 7 + x

print(my_function(3))
print(my_function(8))
print(my_function(10))

Output:

10
15
17

Explore our Popular Data Science Courses

Arbitrary Arguments in Python

These are most useful when you do not know how many numbers of arguments are to be passed into a function.

In such cases, it is mandatory to use an asterisk (*) right before the name of the parameter.

Example:

def greet(*names):

   # names is a tuple with arguments

   for name in names:

       print(“Hello”,name)

greet(“Tom”,”Ed”,”Harry”)

Output:

Hello Tom
Hello Ed
Hello Harry

Read our popular Data Science Articles

Keyword Arguments in Python

Keyword arguments are made when there is no preferred order.

Example:

def my_function(song3, song1, song2):
  print(“My favorite song is ” + song2)

my_function(song1 = “Bohemian Rhapsody”, song2 = “Supersonic”, song3 = “Imitosis”)

Output:

My favourite song is Supersonic

Default Arguments in Python

These arguments are the ones that assume a default value in the function when there is no provided value.

Example:

def my_function(disease = “COVID-19”):
  print(disease + ” is a communicable disease”)

my_function(“Ebola”)
my_function(“Flu”)
my_function()
my_function(“Measles”)

Output:

Ebola is a communicable disease
Flu is a communicable disease
COVID 19 is a communicable disease
Measles is a communicable disease

Anonymous Functions in Python

The functions that are not declared in a decided manner without the def keyword are called anonymous functions.

To create anonymous functions, use the keyword Lamba.

  • There is no restriction on the number of arguments lambda can take. However, it will just return one value.
  • Anonymous functions can’t be directly called to be printed.
  • Lambda has a different namespace and cannot accept variables that are not in the parameter list.

Syntax of lambda Functions

It is only a single-line statement:

lambda [arg1 [,arg2,…..argn]]:expression

Example:

square = lambda x: x*x

print(square(3))

Output:

9

Recursion in Python

Recursion is one of the most important functions in Python.

A recursion means a defined function can call itself. It helps loop through data over and over again to get a result.

One of the most common errors in recursion is when you write a function that keeps calling itself and do not terminate, thus resulting in the usage of excessive power.

Check out the following program.

Example:

def recursive(k):
  if(k > 0):
    result = k + recursive(k – 1)
    print(result)
  else:
    result = 0
  return result

print(“\n\nRecursion Results”)
recursive(3)

Output:

Recursion Results
1
3
6

In this, recursive(k) is the name of the function that will be calling itself, i.e. recurse.

k is the variable, which is decremented by 1 {(k – 1)} each time it is called back.

The moment the condition k > 0 is not fulfilled, the recursion breaks.

Read more: Python Recursive Function Concept

Top Data Science Skills to Learn

Advantages of Recursion

Here are the most important advantages of recursion:

  • The code or program looks clean and easy-to-understand.
  • With recursion, complex functions can be broken down into easier problems.
  • The generation of a sequence is way easier with recursion that it is with nested iteration.

Limitations of Recursion

Here are some of the limitations of recursion:

  • It is sometimes difficult to understand the logic behind a recursive function.
  • Because the function calls itself many times, a recursive function takes up a lot of memory and time, thus being inefficient.
  • It is quite complicated to debug a recursive function.

Read: Top 12 Fascinating Python Applications in Real-World

Fibonacci in Python

As you know, sunflowers, the Da Vinci Code, and the song “Lateralus” by Tool, all are based on one thing – Fibonacci numbers.

Fibonacci numbers are those that follow the following sequence of integer values:

0,1,1,2,3,5,8,13,21,34,55,89,….

This sequence is defined by:

Fn = Fn-1 + Fn-2

Where,

F0 = 0

And

F1 = 1

In Python, the code to obtain the nth number of the Fibonacci sequence is written using recursion:

def Fibonacci(n): 

    if n<0: 

        print(“Incorrect input”) 

    elif n==1: 

        return 0

    elif n==2: 

        return 1

    else: 

        return Fibonacci(n-1)+Fibonacci(n-2) 

print(Fibonacci(13))

Output:

144

This means that the 13th number in the Fibonacci series is 144.

upGrad’s Exclusive Data Science Webinar for you –

How upGrad helps for your Data Science Career?

 

Conclusion

In this post, you learned about the different types of Python functions and how to use them to obtain desired outputs.

However, it is important to be very careful while using each function as the syntax varies.

Even one colon can make a difference!

Similarly, using recursion can help break various complicated mathematical problems. But, at the same time, they have to be used carefully. Otherwise, it can be difficult to debug your recursive function.

This tutorial should surely help you get better at coding in Python.

If you are curious to learn about data science, check out upGrad’s Data Science Programs which are created for working professionals and offers 10+ case studies & projects, practical hands-on workshops, mentorship with industry experts, 1-on-1 with industry mentors, 400+ hours of learning, and job assistance with top firms.

Profile

Rohit Sharma

Blog Author
Rohit Sharma is the Program Director for the UpGrad-IIIT Bangalore, PG Diploma Data Analytics Program.

Frequently Asked Questions (FAQs)

1What are the main types of functions in Python?

Functions are the most important part of any programming language as they simplify common actions that are usually repeated. Functions are a set of instructions for performing a specific task. It makes it easy to perform the same action repeatedly without the need to write the same code again. There are plenty of functions used in Python for performing specific tasks as per the user requirements. There are certain in-built functions in Python to simplify your work. For instance, you can directly get the minimum value from a set of numbers by using the min() function. For performing customized actions, the user needs to create a user-defined function to perform that task. There are also anonymous which aren’t declared with the standard ‘def’ keyword.

2How many built-in functions are there in Python?

If you are using or learning the Python language, then you will be very well aware of the need for its functions. Python is like an incomplete language without its library of built-in functions that make it easy to perform any task without giving a huge amount of instructions. There are 68 built-in functions present in Python to simplify every developer's work. The developers don't need to create their own function for every single task, like summing up the values of two integers because there is an in-built function ‘sum()’ to do it for them.

3What are the magic functions in Python?

Magic methods are also famous as Dunder methods in Python. These are the methods that consist of two prefixes, as well as two suffixes, underscores in its method name. The name here is Dunder because of ‘Double Underscores.’ These magic functions are commonly used for operator overloading. Some examples of magic functions in Python are: __len__, __add__, etc.

Explore Free Courses

Suggested Blogs

Top 12 Reasons Why Python is So Popular With Developers in 2024
99361
In this article, Let me explain you the Top 12 Reasons Why Python is So Popular With Developers. Easy to Learn and Use Mature and Supportive Python C
Read More

by upGrad

31 Jul 2024

Priority Queue in Data Structure: Characteristics, Types &#038; Implementation
57691
Introduction The priority queue in the data structure is an extension of the “normal” queue. It is an abstract data type that contains a
Read More

by Rohit Sharma

15 Jul 2024

An Overview of Association Rule Mining &#038; its Applications
142465
Association Rule Mining in data mining, as the name suggests, involves discovering relationships between seemingly independent relational databases or
Read More

by Abhinav Rai

13 Jul 2024

Data Mining Techniques &#038; Tools: Types of Data, Methods, Applications [With Examples]
101802
Why data mining techniques are important like never before? Businesses these days are collecting data at a very striking rate. The sources of this eno
Read More

by Rohit Sharma

12 Jul 2024

17 Must Read Pandas Interview Questions &amp; Answers [For Freshers &#038; Experienced]
58170
Pandas is a BSD-licensed and open-source Python library offering high-performance, easy-to-use data structures, and data analysis tools. The full form
Read More

by Rohit Sharma

11 Jul 2024

Top 7 Data Types of Python | Python Data Types
99516
Data types are an essential concept in the python programming language. In Python, every value has its own python data type. The classification of dat
Read More

by Rohit Sharma

11 Jul 2024

What is Decision Tree in Data Mining? Types, Real World Examples &#038; Applications
16859
Introduction to Data Mining In its raw form, data requires efficient processing to transform into valuable information. Predicting outcomes hinges on
Read More

by Rohit Sharma

04 Jul 2024

6 Phases of Data Analytics Lifecycle Every Data Analyst Should Know About
82932
What is a Data Analytics Lifecycle? Data is crucial in today’s digital world. As it gets created, consumed, tested, processed, and reused, data goes
Read More

by Rohit Sharma

04 Jul 2024

Most Common Binary Tree Interview Questions &#038; Answers [For Freshers &#038; Experienced]
10561
Introduction Data structures are one of the most fundamental concepts in object-oriented programming. To explain it simply, a data structure is a par
Read More

by Rohit Sharma

03 Jul 2024

Schedule 1:1 free counsellingTalk to Career Expert
icon
footer sticky close icon