Instance method in Python

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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() 

chevron_right


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:

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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()))

chevron_right


Output

No. of edges for circle: 0
No. of edges for square: 6

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Akanksha_Rai