How Many Types Of Access Modifiers Are There In Python-
-
1) Public
-
2) Private
-
3) Protected
1) Private-
– ‘__’ can be used to create private variable and method. – Private variable and methods can be accessed within the class.
class Emp: name = 'Rohit' # public variable __salary = 17000 # Private variable because it has a syntax "__" def main(): print(Emp.name) print(Emp.__salary) Emp.main() Output- Rohit 17000
- Qsn- Can we call the private methods of another class?
- Answer-Yes, We can call private methods of another class by calling the public method of that class.
Ex-
class Test: def a1(self): print("a1") def __a2(self): print("a2") def a3(self): self.__a2() class TestMain: def main(): obj = Test() obj.a1() #obj.__a2() --> Error AttributeError: 'Test' object has no attribute '_TestMain__a2' obj.a3() TestMain.main() Output- a1 a2
2) Protected-
(If you are new in Python. I will recommend to learn this concept after Inheritance) – ‘_’ is used to create protected variables and methods. – Another class variables and methods can be accessed by using protected Access Modifiers In Python only if we have the parent-child relationship even in modules also.
Ex-
a=10 #public _a=10 #Protected __a=10 #Private
Ex-
class Parent: def __init__(self, a, b): self._a = a self._b = b def display(self): print("a is-", self._a) print("b is-", self._b) class Child(Parent): def __init__(self, a, b): Parent.__init__(self, a, b) def sum(self): c = self._a + self._b print("sum is-", c) obj = Child(4, 3) obj.display() obj.sum() Output- a is- 4 b is- 3 sum is- 7