Difference between Method and Function in Python

06 Jul, 2022
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 definition always includes ‘self’ as its first parameter.A method is implicitly passed the object on which it is invoked.It may or may not return any data.A method can operate on the data (instance variables) that is contained by the corresponding class
Method is called by its name, but it is associated to an object (dependent).
A method definition always includes ‘self’ as its first parameter.
A method is implicitly passed the object on which it is invoked.
It may or may not return any data.
A method can operate on the data (instance variables) that is contained by the corresponding class
Basic Method Structure in Python : 
Python
# Basic Python methodclass class_name    def method_name () :        ......        # method body        ......  
Python 3 User-Defined Method : 
Python3
# Python 3  User-Defined  Methodclass ABC :    def method_abc (self):        print("I am in method_abc of ABC class. ") class_ref = ABC() # object of ABC classclass_ref.method_abc()
Output:
 I am in method_abc of ABC class
Python 3 Inbuilt method : 
Python3
import math ceil_val = math.ceil(15.25)print( "Ceiling value of 15.25 is : ", ceil_val)
Output:
Ceiling value of 15.25 is :  16
Know more about Python ceil() and floor() method.
Functions
Function is block of code that is also called by its name. (independent)The function can have different parameters or may not have any at all. If any data (parameters) are passed, they are passed explicitly.It may or may not return any data.Function does not deal with Class and its instance concept.
Function is block of code that is also called by its name. (independent)
The function can have different parameters or may not have any at all. If any data (parameters) are passed, they are passed explicitly.
It may or may not return any data.
Function does not deal with Class and its instance concept.
Basic Function Structure in Python : 
Python3
def function_name ( arg1, arg2, ...) :    ......    # function body    ......  
Python 3 User-Defined Function : 
Python3
def Subtract (a, b):    return (a-b) print( Subtract(10, 12) ) # prints -2 print( Subtract(15, 6) ) # prints 9
Output:
-2
9
Python 3 Inbuilt Function : 
Python3
s = sum([5, 15, 2])print( s ) # prints 22 mx = max(15, 6)print( mx ) # prints 15
Output:
22
15
Know more about Python sum() function. Know more about Python min() or max() function.
Difference between method and function
Simply, function and method both look similar as they perform in almost similar way, but the key difference is the concept of ‘Class and its Object‘.Functions can be called only by its name, as it is defined independently. But methods can’t be called by its name only, we need to invoke the class by a reference of that class in which it is defined, i.e. method is defined within a class and hence they are dependent on that class.
Simply, function and method both look similar as they perform in almost similar way, but the key difference is the concept of ‘Class and its Object‘.
Functions can be called only by its name, as it is defined independently. But methods can’t be called by its name only, we need to invoke the class by a reference of that class in which it is defined, i.e. method is defined within a class and hence they are dependent on that class.
getsrikar
mitalibhola94
Python-Functions
Difference Between
Python
Technical Scripter
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Difference between var, let and const keywords in JavaScript
Difference Between Method Overloading and Method Overriding in Java
Differences between JDK, JRE and JVM
Stack vs Heap Memory Allocation
Difference between Process and Thread
Read JSON file using Python
Adding new column to existing DataFrame in Pandas
Python map() function
Python Dictionary
How to get column names in Pandas dataframe