Open In App

Accessor and Mutator methods in Python

In Python, class is a prototype for objects which is a user-defined type. It specifies and defines objects of the same type, a class includes a cluster of data and method definitions. Moreover, an object is a single instance of a class but you can create many objects from a single class.
Note: For more information, refer to Python Classes and Objects
 

Accessor and Mutator methods

So, you all must be acquainted with the fact that the internal data of an object must be kept private. But there should be some methods in the class interface that can permit the user of an object to access and alter the data (that is stored internally) in a calm manner. Therefore, for that case we have two methods namely Accessors and Mutators that are helpful in accessing and altering respectively, internally stored data. 
 



Below examples illustrate the use of Accessor and Mutator methods in Python: 
Example 1: 
 




# Python program to illustrate the use of
# Accessor and Mutator methods
 
# importing "array" for array operations
import array
    
# initializing array with array values
# initializes array with signed integers
arr = array.array('i', [5, 1, 3, 4, 2, 2, 7])
 
# Accesses the index of the value in argument
print (arr.index(2))
 
# Accesses the number of time the
# stated value is present
print (arr.count(2))
 
# Mutates the array list
(arr.append(19))
 
# Prints the array after alteration
print (arr)

Output: 

4
2
array('i', [5, 1, 3, 4, 2, 2, 7, 19])

 

So, here the index() and count() method only accesses the data so they are accessor methods but the append() method here modifies the array so its a mutator method. 
Example 2: 
 




# Python program to illustrate the use of
# Accessor and Mutator methods
 
# Defining class Car
class Car:
 
    # Defining method init method with a parameter
    def __init__(self, carname):
        self.__make = carname
 
    # Defining Mutator Method
    def set_make(self, carname):
        self.__make = carname
 
    # Defining Accessor Method
    def get_make(self):
        return self.__make
 
# Creating an object
myCar = Car('Ford');
 
# Accesses the value of the variable
# using Accessor method and then
# prints it
print (myCar.get_make())
 
# Modifying the value of the variable
# using Mutator method
myCar.set_make('Porche')
 
# Prints the modified value
print (myCar.get_make())

Output: 
Ford
Porche

 

So, here the name of the car was accessed using Accessor method i.e, get_make and then it was modified using Mutator method i.e, set_make.
 


Article Tags :