Instance method in Python Last Updated : 12 Jul, 2025 Comments Improve Suggest changes Like Article Like Report A class is a user-defined blueprint or prototype from which objects are created. 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. Each class instance can have attributes attached to it for maintaining its state. Class instances can also have methods (defined by its class) for modifying its state. Example: Python3 # Python program to demonstrate # classes class Person: # init method or constructor def __init__(self, name): self.name = name # Sample Method def say_hi(self): print('Hello, my name is', self.name) p = Person('Nikhil') p.say_hi() Output: Hello, my name is Nikhil Note: For more information, refer to Python Classes and Objects Instance Method Instance attributes are those attributes that are not shared by objects. Every object has its own copy of the instance attribute. For example, consider a class shapes that have many objects like circle, square, triangle, etc. having its own attributes and methods. An instance attribute refers to the properties of that particular object like edge of the triangle being 3, while the edge of the square can be 4. An instance method can access and even modify the value of attributes of an instance. It has one default parameter:- self - It is a keyword which points to the current passed instance. But it need not be passed every time while calling an instance method. Example: Python3 1== # Python program to demonstrate # instance methods class shape: # Calling Constructor def __init__(self, edge, color): self.edge = edge self.color = color # Instance Method def finEdges(self): return self.edge # Instance Method def modifyEdges(self, newedge): self.edge = newedge # Driver Code circle = shape(0, 'red') square = shape(4, 'blue') # Calling Instance Method print("No. of edges for circle: "+ str(circle.finEdges())) # Calling Instance Method square.modifyEdges(6) print("No. of edges for square: "+ str(square.finEdges())) Output No. of edges for circle: 0 No. of edges for square: 6 Comment More info S sathiyajith19 Follow Improve Article Tags : Technical Scripter Python Technical Scripter 2019 python-oop-concepts Python-OOP +1 More Explore Python FundamentalsPython Introduction 3 min read Input and Output in Python 4 min read Python Variables 5 min read Python Operators 5 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 7 min read Python Functions 5 min read Recursion in Python 6 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 5 min read Python Tuples 4 min read Dictionaries in Python 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 2 min read Python MySQL 9 min read Python Packages 12 min read Python Modules 7 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 6 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 15+ min read StatsModel Library- Tutorial 4 min read Learning Model Building in Scikit-learn 8 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 7 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 7 min read Python | Build a REST API using Flask 3 min read How to Create a basic API using Django Rest Framework ? 4 min read Python PracticePython Quiz 3 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like