Friday, December 27, 2024
Google search engine
HomeLanguagesDifferent ways to access Instance Variable in Python

Different ways to access Instance Variable in Python

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

RELATED ARTICLES

Most Popular

Recent Comments