A function is a set of instructions or procedures to perform a specific task, and a method is a set of instructions that are associated with an object.
A function is used to split the code into easily understandable parts, which can be reused as well.
Some differences between a function and method are listed below:
A function doesn’t need any object and is independent, while the method is a function, which is linked with any object.
We can directly call the function with its name, while the method is called by the object’s name.
Function is used to pass or return the data, while the method operates the data in a class.
Function is an independent functionality, while the method lies under object-oriented programming.
In functions, we don’t need to declare the class, while to use methods we need to declare the class.
Functions can only work with the provided data, while methods can access all the data provided in the given class.
Now, explore it further in the next section with a coding example.
Click the "Run" button to execute the below example.
# Function exampledef greet_function(name):return "Hello, {}!".format(name)# Method exampleclass Greeter:def __init__(self, name):self.name = namedef greet_method(self):return "Hello, {}!".format(self.name)# Using the functionprint(greet_function("Alice")) # Output: Hello, Alice!# Using the methodgreeter_object = Greeter("Bob")print(greeter_object.greet_method()) # Output: Hello, Bob!
In this example:
greet_function is a function that takes a name as an argument and returns a greeting message.Greeter is a class with a method
greet_method which doesn't explicitly take a name argument but accesses it through self, referring to the instance of the class.
Key differences highlighted in this example:
The function greet_function is standalone and can be called directly by its name.
The method greet_method is associated with the Greeter class and is called using an instance of the class.
The method greet_method operates on the data (name) within the instance of the class (Greeter).