Python Functions

by Apr 1, 2020Python

In this article, we will tell about Python functions. We should also know about function defining function calling and variable arguments. Let’s have a quick look on the below contents :


Introduction

A function is a block of organized and reusable program code that performs a single, specific, and well-defined task. Python enables the breakage of a program into functions. The code of one function is completely insulated from the codes of the other functions.


Function Creation

A function is created using the def keyword.

def func():
    print("Creation of function done!")

Function Definition

A function definition consists of a function header that identifies the function, followed by the body of the function containing the executable code for that function.


Function Declaration

A function declaration is a declaration statement that identifies a function with its name, a list of arguments that it accepts, and the type of data it returns.


Function Call

When a function is invoked, the program control jumps to execute the statements that are a part of that function. once the called function is executed the program control passes back to the calling function. The call is made using the parenthesis. To know more you can refer to this site.

def func():
    print("Creation of function done!")
func()

Arguments

there are 4 types of arguments in Python. Those are:

  • Required arguments
  • Keyword arguments
  • Default arguments
  • Variable-length arguments

Required arguments

In this type of arguments, the arguments passed to a function in correct positional order. Also, the number of arguments in the function call should exactly match with the number of arguments specified in the function definition.

def display(str):
    print(str)
str ="Hello"
display(str) #returns Hello

The function displays the string only when number and type of arguments in the function call matches with the specified in the function definition, otherwise a TypeError is returned.

def display():
    print("Hello")
display("Hi") #returns TypeError : display() takes no arguments(1 given)
def display(str):
    print(str)
display(str) #returns TypeError : display() takes exactly 1 argument(0 given)

Keyword argument

This arguments help the function to identify the arguments by the parameter name. Having a required argument after keyword arguments will cause error. Its order is not important. In no case, the argument should receive a value more than once.

def display(str, int, float):
    print("The string is : ",str)
    print("The integer value is : ",int)
    print("The float value is : ",float)
display(float=10.56,str="Hello",int=12)

Default Arguments

If a value is not provided in the function call, a default argument assumes a default value. Users can specify a default value for one or more arguments. It uses the assignment operator ” + “.

def display(name, course = "Btech"):
    print("Name:" +name)
    print("Course:",course)
display(course ="BBA",name = "Shreya") #Keyword Arguments
display(name = "Meghna") #Default arguments

Variable-Length Arguments

Python allows programmers to make function calls with the arbitrary number of arguments. The function definition uses an asterisk ( * ) before the parameter name. To know more you can refer to this site.

Syntax : def function([arg1, arg2 ,……] *var_args_tuple ): function statements return [expression]

def func(name, *fav_subjects):
    print(name, " likes to read ")
    for subjects in fav_subjects:
        print(subject)
func("Itika", "Mathematics", "digital")
func("Saurav", "C", "Design and Analysis of Algorithm", "Python")
func("Saurav")

Arbitrary Keyword Arguments, **kwargs

When the number of arguments is not known to us we use a double asterisk (**) before the parameter name in the function definition. In this way function receive lots of arguments and access it.

def my_fun(**girl):
  print("Her mothertongue is " + girl["mtongue"])
my_fun(fname = "Tiyasa", mtongue = "bengali") #returns Her mothertongue is bengali

Passing a List as an Argument

If we send a list as an argument through the function it will become a list after passed through the function.

def fun(clothes):
    for i in clothes:
        print(i)
bottom_wear=["jeans", "leggings", "plazo"]
fun(bottom_wear)

Return Values

When a function return some values we use the return statement.

def fun(a):
    if(a%2==0):
        return 1
    else:
        return -1
a=12
flag=fun(a)
if(flag==1):
    print("The number is even")
if(flag==-1)
    print("The number is odd") #returns The number is even

The pass Statement

We all know that function definition shouldn’t be empty. But for some reason the function definition is empty we can simply use the pass statement to avoid error.

def func():
    pass

Recursion

Recursion is more of a top-down approach to problem-solving in which the original problem is divided into smaller sub-problems. This is an excellent way of solving complex problems and it can be defined in recursive terms.

Pros:

  • Recursive solutions often tend to be shorter and simpler than non-recursive ones.
  • Code is clearer and easier to use.
  • It uses the original formula to solve a problem
  • It follows a divide and conquer strategy.

Cons:

  • It is implemented using system stack. If the stack space on the system is limited, recursion to deeper level will be difficult.
  • It is difficult to find bugs, particularly when using global variables.
  • It takes a huge amount of memory.

So, the following is a recursive function call code to print the Fibonacci series recursion.

def fibonacci(n):
    if(n<2):
        return 1
    return (fibonacci(n-1)+fibonacci(n-2))
n=5
for i in range(n):
    print("Fibonacci(" ,i, ") = ",fibonacci(i))

Creating a multiplication Skill in Alexa using python

Written By Itika Sarkar

Hey, this is Itika Sarkar. I'm currently pursuing BTech degree in Electronics & Communication Engineering(2nd year). Writing technical articles, tutorial and innovative projects on modern industry-related technologies are my hobbies.

RELATED POSTS

Python Regular Expression

Python Regular Expression

Python is a general-purpose high-level programming language. Python is mainly used as a support language to software developers. It helps in building control and management and also in testing. The syntax python uses is very simple and similar to the English language....

Introduction to MicroPython and ESP8266

Introduction to MicroPython and ESP8266

For ages, C and C++ have ruled over the embedded system industry. Fast prototyping is an important aspect of the industry today. In fact MicroPython is the best suited for fast prototyping. Students and engineers are becoming very familiar with the Python programming...

Five Best Python Projects for Beginners

Five Best Python Projects for Beginners

Learning and practicing of any programming language can be monotonous. Also, only learning can not be the perfect gain of knowledge if we don't put it into some implementation. Likewise, Python programming language can be interesting but until we don't use it in some...

How to convert .py into .pyc? Compilation of Python Code

How to convert .py into .pyc? Compilation of Python Code

In this article we will see what is a pyc file ,how is it formed,how to convert and compile a pyc file. When we run a code in python it actually goes through a couple of steps before our program reaches the virtual machine It is compiled to bytecode.Then it is...

How to create and install a Python Package?

How to create and install a Python Package?

Requirements Check the tools pip --version pip install wheel What is Python Package Index? What is Distutils? Creating a Package Directory Structure some_root_dir/ |-- README |-- setup.py |-- an_example_pypi_project | |-- __init__.py | |-- useful_1.py | |--...

Docker for beginners tutorial:

Docker for beginners tutorial:

What is Docker? Docker, in simple words is a tool that allows developers who build applications, to package them with all their dependencies into a ‘container’ which can easily be shipped to run on the host operating . Containers do not have high overhead and allow...

Object-Oriented Programming in Python

Object-Oriented Programming in Python

Python Classes and Methods Python is an object-oriented programming language. Classes provide a means of bundling data and functionality together. Creating a new class creates a new type of object, allowing new instances of that type to be made....

Python Flask Tutorial

Python Flask Tutorial

Flask is a web framework that provides libraries to build lightweight web applications in python. It is developed by Armin Ronacher who leads an international group of Python enthusiasts (POCCO). Contents What is Flask? Flask Environment Setup First Flask...

Python Numbers

Python Numbers

In this article you will learn about types of numbers in python and their mathematical operations. So these are the contents of this article : Introduction Decimal Need of DecimalFractionsMathematics Introduction Python supports integer, floating-point number and...

Python File Handling

Python File Handling

In this article, we will discuss all about file handling in Python. Let us have a quick look at the contents shown below: IntroductionFile openSyntaxRead filesParts of file to readRead linesloopChoose filesWrite filesAppendSplitting wordsCreate a new fileSeek...

Python Lambda

Python Lambda

In this article, we will discuss on Python lambda. Let us have a quick look on the following contents shown below: IntroductionAdd two numbers using LambdaSum of 10 natural numbersMultiplicationSmaller of two numbers Introduction Lambda functions are the anonymous...

Python While loop

Python While loop

In this article, we are going to focus on while loops used in python with suitable examples. The content of this article is shown below: IntroductionThe break statementContinue in whileElse in while loop Introduction While loop in Python is a primitive type of...

VIDEOS – FOLLOW US ON YOUTUBE

EXPLORE OUR IOT PROJECTS

IoT Smart Gardening System – ESP8266, MQTT, Adafruit IO

Gardening is always a very calming pastime. However, our gardens' plants may not always receive the care they require due to our active lifestyles. What if we could remotely keep an eye on their health and provide them with the attention they require? In this article,...

How to Simulate IoT projects using Cisco Packet Tracer

In this tutorial, let's learn how to simulate the IoT project using the Cisco packet tracer. As an example, we shall build a simple Home Automation project to control and monitor devices. Introduction Firstly, let's quickly look at the overview of the software. Packet...

All you need to know about integrating NodeMCU with Ubidots over MQTT

In this tutorial, let's discuss Integrating NodeMCU and Ubidots IoT platform. As an illustration, we shall interface the DHT11 sensor to monitor temperature and Humidity. Additionally, an led bulb is controlled using the dashboard. Besides, the implementation will be...

All you need to know about integrating NodeMCU with Ubidots over Https

In this tutorial, let's discuss Integrating NodeMCU and Ubidots IoT platform. As an illustration, we shall interface the DHT11 sensor to monitor temperature and Humidity. Additionally, an led bulb is controlled using the dashboard. Besides, the implementation will be...

How to design a Wireless Blind Stick using nRF24L01 Module?

Introduction Let's learn to design a low-cost wireless blind stick using the nRF24L01 transceiver module. So the complete project is divided into the transmitter part and receiver part. Thus, the Transmitter part consists of an Arduino Nano microcontroller, ultrasonic...

Sending Temperature data to ThingSpeak Cloud and Visualize

In this article, we are going to learn “How to send temperature data to ThingSpeak Cloud?”. We can then visualize the temperature data uploaded to ThingSpeak Cloud anywhere in the world. But "What is ThingSpeak?” ThingSpeak is an open-source IoT platform that allows...

Amaze your friend with latest tricks of Raspberry Pi and Firebase

Introduction to our Raspberry Pi and Firebase trick Let me introduce you to the latest trick of Raspberry Pi and Firebase we'll be using to fool them. It begins with a small circuit to connect a temperature sensor and an Infrared sensor with Raspberry Pi. The circuit...

How to implement Machine Learning on IoT based Data?

Introduction The industrial scope for the convergence of the Internet of Things(IoT) and Machine learning(ML) is wide and informative. IoT renders an enormous amount of data from various sensors. On the other hand, ML opens up insight hidden in the acquired data....

Smart Display Board based on IoT and Google Firebase

Introduction In this tutorial, we are going to build a Smart Display Board based on IoT and Google Firebase by using NodeMCU8266 (or you can even use NodeMCU32) and LCD. Generally, in shops, hotels, offices, railway stations, notice/ display boards are used. They are...

Smart Gardening System – GO GREEN Project

Automation of farm activities can transform agricultural domain from being manual into a dynamic field to yield higher production with less human intervention. The project Green is developed to manage farms using modern information and communication technologies....