DEV Community

Simone Tippett
Simone Tippett

Posted on

Function vs Method in Python

Hi guys! Starting out in programming and learning python I often wondered about the key differences between functions and methods in Python. At first glance, they seemed interchangeable to me, but in reality, they serve different purposes and have different attributes.


What is a Function in Python?

A function is a block of reusable code that performs a specific task. It takes input arguments, processes them, and returns a value. Functions are designed to be reusable, which means that you can call them multiple times in a program. Here is an example of a simple function in Python:

def add_numbers(x, y):
    return x + y

result = add_numbers(3, 5)
print(result)
Enter fullscreen mode Exit fullscreen mode

In this example, we define a function called add_numbers that takes two arguments x and y. It adds them together and returns the result. We then call the function with the values 3 and 5, which results in 8 being stored in the result variable. Finally, we print the result.


What is a Method in Python?

A method is similar to a function in that it performs a specific task, but it is associated with an object. In other words, a method is a function that is called on a specific object. Methods are used to manipulate an object's state and behavior. Here is an example of a method in Python:

name = "Alice"
upper_name = name.upper()
print(upper_name)
Enter fullscreen mode Exit fullscreen mode

In this example, we define a string variable called name with the value Alice. We then call the upper() method on the name object. This method returns a new string with all characters converted to uppercase. We store the result in a variable called upper_name and then print it. The output will be "ALICE".


How to Determine if a Line of Code is a Method or a Function?

To determine whether a line of code is a method or a function, you need to look at the object it is called on. If the line of code is called on an object, it is a method. If it is not called on an object, it is a function. In the examples above, the add_numbers() function is not associated with any object, while the upper() method is called on the name object.

A good way to understand the difference between a function and a method is to think of a recipe book. A function is like a recipe that you can use to bake a cake. It tells you what ingredients to use and how to mix them together to create a finished product. You can use the same recipe multiple times to make different cakes.

On the other hand, a method is like a step in a recipe that tells you how to mix the ingredients together. It is specific to the recipe you are using and is used to manipulate the ingredients to create the desired outcome. For example, if a recipe calls for you to mix the ingredients in a specific order or to whisk the eggs, these are methods.


Python is a powerful and versatile programming language that can be used for a wide variety of tasks. Whether you are interested in data science, web development, or just want to learn a new skill, Python is a great place to start.

By understanding the differences between functions and methods in Python, you can write more efficient and effective code. So if you're interested in learning Python, I encourage you to dive in and start exploring this amazing language!

Top comments (0)