Python FunctionFunctions are the most important aspect of an application. A function can be defined as the organized block of reusable code, which can be called whenever required. Python allows us to divide a large program into the basic building blocks known as a function. The function contains the set of programming statements enclosed by {}. A function can be called multiple times to provide reusability and modularity to the Python program. The Function helps to programmer to break the program into the smaller part. It organizes the code very effectively and avoids the repetition of the code. As the program grows, function makes the program more organized. Python provide us various inbuilt functions like range() or print(). Although, the user can create its functions, which can be called user-defined functions. There are mainly two types of functions.
In this tutorial, we will discuss the user define functions. Advantage of Functions in PythonThere are the following advantages of Python functions.
Creating a FunctionPython provides the def keyword to define the function. The syntax of the define function is given below. Syntax: Let's understand the syntax of functions definition.
Function CallingIn Python, after the function is created, we can call it from another function. A function must be defined before the function call; otherwise, the Python interpreter gives an error. To call the function, use the function name followed by the parentheses. Consider the following example of a simple example that prints the message "Hello World". Output: hello world The return statementThe return statement is used at the end of the function and returns the result of the function. It terminates the function execution and transfers the result where the function is called. The return statement cannot be used outside of the function. Syntax It can contain the expression which gets evaluated and value is returned to the caller function. If the return statement has no expression or does not exist itself in the function then it returns the None object. Consider the following example: Example 1Output: The sum is: 30 In the above code, we have defined the function named sum, and it has a statement c = a+b, which computes the given values, and the result is returned by the return statement to the caller function. Example 2 Creating function without return statementOutput: None In the above code, we have defined the same function without the return statement as we can see that the sum() function returned the None object to the caller function. Arguments in functionThe arguments are types of information which can be passed into the function. The arguments are specified in the parentheses. We can pass any number of arguments, but they must be separate them with a comma. Consider the following example, which contains a function that accepts a string as the argument. Example 1Output: Hi Devansh Example 2Output: Enter a: 10 Enter b: 20 Sum = 30 Call by reference in PythonIn Python, call by reference means passing the actual value as an argument in the function. All the functions are called by reference, i.e., all the changes made to the reference inside the function revert back to the original value referred by the reference. Example 1 Passing Immutable Object (List)Output: list inside function = [10, 30, 40, 50, 20, 30] list outside function = [10, 30, 40, 50, 20, 30] Example 2 Passing Mutable Object (String)Output: printing the string inside function : Hi I am there Hows you printing the string outside function : Hi I am there Types of argumentsThere may be several types of arguments which can be passed at the time of function call.
Required ArgumentsTill now, we have learned about function calling in Python. However, we can provide the arguments at the time of the function call. As far as the required arguments are concerned, these are the arguments which are required to be passed at the time of function calling with the exact match of their positions in the function call and function definition. If either of the arguments is not provided in the function call, or the position of the arguments is changed, the Python interpreter will show the error. Consider the following example. Example 1 Output: Enter the name: John Hi John Example 2 Output: Enter the principle amount: 5000 Enter the rate of interest: 5 Enter the time in years: 3 Simple Interest: 750.0 Example 3 Output: TypeError: calculate() missing 1 required positional argument: 'b' Default ArgumentsPython allows us to initialize the arguments at the function definition. If the value of any of the arguments is not provided at the time of function call, then that argument can be initialized with the value given in the definition even if the argument is not specified at the function call. Example 1 Output: My name is John and age is 22 Example 2 Output: My name is john and age is 22 My name is David and age is 10 Variable-length Arguments (*args)In large projects, sometimes we may not know the number of arguments to be passed in advance. In such cases, Python provides us the flexibility to offer the comma-separated values which are internally treated as tuples at the function call. By using the variable-length arguments, we can pass any number of arguments. However, at the function definition, we define the variable-length argument using the *args (star) as * Consider the following example. Example Output: type of passed argument is In the above code, we passed *names as variable-length argument. We called the function and passed values which are treated as tuple internally. The tuple is an iterable sequence the same as the list. To print the given values, we iterated *arg names using for loop. Keyword arguments(**kwargs)Python allows us to call the function with the keyword arguments. This kind of function call will enable us to pass the arguments in the random order. The name of the arguments is treated as the keywords and matched in the function calling and definition. If the same match is found, the values of the arguments are copied in the function definition. Consider the following example. Example 1 Output: printing the message with John and hello Example 2 providing the values in different order at the calling Output: Simple Interest: 1900.0 If we provide the different name of arguments at the time of function call, an error will be thrown. Consider the following example. Example 3 Output: TypeError: simple_interest() got an unexpected keyword argument 'time' The Python allows us to provide the mix of the required arguments and keyword arguments at the time of function call. However, the required argument must not be given after the keyword argument, i.e., once the keyword argument is encountered in the function call, the following arguments must also be the keyword arguments. Consider the following example. Example 4 Output: printing the message with John , hello ,and David The following example will cause an error due to an in-proper mix of keyword and required arguments being passed in the function call. Example 5 Output: SyntaxError: positional argument follows keyword argument Python provides the facility to pass the multiple keyword arguments which can be represented as **kwargs. It is similar as the *args but it stores the argument in the dictionary format. This type of arguments is useful when we do not know the number of arguments in advance. Consider the following example: Example 6: Many arguments using Keyword argument Output: {'a': 'Apple'} {'fruits': 'Orange', 'Vagitables': 'Carrot'} Scope of variablesThe scopes of the variables depend upon the location where the variable is being declared. The variable declared in one part of the program may not be accessible to the other parts. In python, the variables are defined with the two types of scopes.
The variable defined outside any function is known to have a global scope, whereas the variable defined inside a function is known to have a local scope. Consider the following example. Example 1 Local VariableOutput: hello !! I am going to print a message. File "/root/PycharmProjects/PythonTest/Test1.py", line 5, in print(message) NameError: name 'message' is not defined Example 2 Global VariableOutput: The sum is 60 Value of sum outside the function: 0 Next TopicPython Built-in Functions
|
Python tutorial provides basic and advanced concepts of Python.
Vue.js is an open-source progressive JavaScript framework
HTML refers to Hypertext Markup Language. HTML is the gateway ...
Java is an object-oriented, class-based computer-programming language.
PHP is an open-source,interpreted scripting language.
Spring is a lightweight framework.Spring framework makes ...
JavaScript is an scripting language which is lightweight and cross-platform.
CSS refers to Cascading Style Sheets...
jQuery is a small and lightweight JavaScript library. jQuery ...
SQL is used to perform operations on the records stored in the database.
C programming is considered as the base for other programming languages.
JavaScript is an scripting language which is lightweight and cross-platform.
Vue.js is an open-source progressive JavaScript framework
ReactJS is a declarative, efficient, and flexible JavaScript library.
jQuery is a small and lightweight JavaScript library. jQuery ...
Node.js is a cross-platform environment and library for running JavaScript app...
TypeScript is a strongly typed superset of JavaScript which compiles to plain JavaScript.
Angular JS is an open source JavaScript framework by Google to build web app...
JSON is lightweight data-interchange format.
AJAX is an acronym for Asynchronous JavaScript and XML.
ES6 or ECMAScript 6 is a scripting language specification ...
Angular 7 is completely based on components.
jQuery UI is a set of user interface interactions built on jQuery...
Python tutorial provides basic and advanced concepts of Python.
Java is an object-oriented, class-based computer-programming language.
Node.js is a cross-platform environment and library for running JavaScript app...
PHP is an open-source,interpreted scripting language.
Go is a programming language which is developed by Google...
C programming is considered as the base for other programming languages.
C++ is an object-oriented programming language. It is an extension to C programming.
C# is a programming language of .Net Framework.
Ruby is an open-source and fully object-oriented programming language.
JSP technology is used to create web application just like Servlet technology.
The JSTL represents a set of tags to simplify the JSP development.
ASP.NET is a web framework designed and developed by Microsoft.
Perl is a cross-platform environment and library for running JavaScript...
Scala is an object-oriented and functional programming language.
VBA stands for Visual Basic for Applications.
Spring is a lightweight framework.Spring framework makes ...
Spring Boot is a Spring module that provides the RAD feature...
Django is a Web Application Framework which is used to develop web applications.
Servlet technology is robust and scalable because of java language.
The Struts 2 framework is used to develop MVC based web applications.
Hibernate is an open source, lightweight, ORM tool.
Solr is a scalable, ready-to-deploy enterprise search engine.
SQL is used to perform operations on the records stored in the database.
MySQL is a relational database management system based...
Oracle is a relational database management system.
SQL Server is software developed by Microsoft.
PostgreSQL is an ORDBMS.
DB2 is a database server developed by IBM.
Redis is a No SQL database which works on the concept of key-value pair.
SQLite is embedded relational database management system.
MongoDB is a No SQL database. It is an document-oriented database...
Memcached is a free, distributed memory object caching system.
Hibernate is an open source, lightweight, ORM tool.
PL/SQL is a block structured language that can have multiple blocks in it.
DBMS Tutorial is software that is used to manage the database.
Spark is a unified analytics engine for large-scale data processing...
IntelliJ IDEA is an IDE for Java Developers which is developed by...
Git is a modern and widely used distributed version control system in the world.
GitHub is an immense platform for code hosting.
SVN is an open-source centralized version control system.
Maven is a powerful project management tool that is based on POM.
Jsoup is a java html parser.
UML is a general-purpose, graphical modeling language.
RESTful Web Services are REST Architecture based Web Services.
Postman is one testing tools which is used for API testing.
JMeter is to analyze the performance of web application.
Jenkins builds and tests our software projects.
SEO stands for Search Engine Optimization.
MATLAB is a software package for mathematical computation, visualization...
Unity is an engine for creating games on multiple platforms.
Hadoop is an open source framework.
Pig is a high-level data flow platform for executing Map Reduce programs of Hadoop.
Spark is a unified analytics engine for large-scale data processing...
Spring Cloud is a framework for building robust cloud applications.
Spring Boot is a Spring module that provides the RAD feature...
AI is one of the fascinating and universal fields of Computer.
Cloud computing is a virtualization-based technology.
AWS stands for Amazon Web Services which uses distributed IT...
Microsoft Azure is a cloud computing platform...
IoT stands for Internet of Things...
Spring Cloud is a framework for building robust cloud applications.
Email:jjw.quan@gmail.com