Python Access Modifiers
Access modifiers are used in an object-oriented programming language to limit the access of the variable and functions of a class. Most of the object-oriented programming languages use three types of access modifiers these are public, protected, and private.
Public Access Modifier
Public members (generally methods declared in a class) are accessible from outside the class. The object of the same class is required to invoke a public method. This arrangement of private instance variables and public methods ensures the principle of data encapsulation.
Example of Public access Modifier
class employee: def __init__(self, name, sal): self.name=name self.salary=sal e1=Employee("Kiran",10000) print(e1.salary) # salary is public attribute # we can access employee class's attributes and also modify their values e1.salary=20000 print(e1.salary)
Protected Access Modifier
Protected members of a class are accessible from within the class and are also available to its sub-classes. No other environment is permitted access to it. This enables the specific resources of the parent class to be inherited by the child class. By adding a prefix _(single underscore) to instance variables, we can make it protected.
Example of Protected Access Modifier
class employee: def __init__(self, name, sal): self._name=name # name and sal are protected self._salary=sal e1=Employee("Kiran",10000) print(e1._salary) # salary is protected attribute e1._salary=20000 print(e1._salary)
Private Access Modifier
Private members of a class are denied access to the environment outside the class. We can handle them only within the class. By adding a prefix __(double underscore) to instance variables and functions of a class, we can make it private.
Example of Private Access Modifier
class employee: def __init__(self, name, sal): self.__name=name # name and sal are private self.__salary=sal e1=Employee("Kiran",10000) print(e1.__salary) # salary is the private attribute e1.__salary=20000 print(e1.__salary)
Traceback (most recent call last):
File “E:/python/khusboo/test-py.py”, line 6, in
NameError: name ‘Employee’ is not defined
Note: Python doesn’t have any mechanism that effectively restricts access to any instance variable or method. Python prefix the name of the variable/method with a single or double underscore to match the behavior of protected and private access specifiers.
|Exercises & Assignments|
|No Content Found.|
|Interview Questions & Answers|
|No Content Found.|