Open In App

Different ways to access Instance Variable in Python

Last Updated : 27 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Instance attributes are those attributes that are not shared by objects. Every object has its own copy of the instance attribute i.e. for every object, instance attribute is different. There are two ways to access the instance variable of class:

  • Within the class by using self and object reference.
  • Using getattr() method

Example 1: Using Self and object reference 

Python3




#creating class
class student:
      
    # constructor
    def __init__(self, name, rollno):
          
        # instance variable
        self.name = name
        self.rollno = rollno
       
    def display(self):
          
        # using self to access 
        # variable inside class
        print("hello my name is:", self.name)
        print("my roll number is:", self.rollno)
          
# Driver Code
# object created
s = student('HARRY', 1001)
  
# function call through object
s.display()
  
# accessing variable from 
# outside the class
print(s.name)


Output:

hello my name is: HARRY
my roll number is: 1001
HARRY

Time complexity: O(1) for both creating the class and calling the display() method and accessing the name variable outside the class.

Auxiliary space: O(1) as there are no additional data structures used and the memory space is constant.

Example 2: Using getattr() 

Python3




# Python code for accessing attributes of class 
class emp: 
    name='Harsh'
    salary='25000'
    def show(self): 
        print(self.name)
        print(self.salary)
          
# Driver Code
e1 = emp() 
# Use getattr instead of e1.name 
print(getattr(e1,'name'))
    
# returns true if object has attribute 
print(hasattr(e1,'name'))
    
# sets an  attribute  
setattr(e1,'height',152
    
# returns the value of attribute name height 
print(getattr(e1,'height'))
    
# delete the attribute 
delattr(emp,'salary'


Output:

Harsh
True
152


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads