Global, protected, and private attributes
Question
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
It will take less than 1 minute to register for lifetime. Bonus Tip - We don't send OTP to your email id Make Sure to use your own email id for free books and giveaways
Answers ( 3 )
Global (also known as public), private, protected attributes are used by a language
to restrict the access to usage of a class.
In short, public members can be accessed from anywhere in the class, private members can be
accessed only from within the class and protected members can be accessed only from within the subclass.
All members are allowed to be accessed from within the class.
1) Public attribute
All members in a Python class are public by default. Any member can be accessed from
outside the class environment.
class student:
def __init__(self, name, id):
self.name=name
self.id=id
>>> s1=student(“swapnil”,100)
>>> s1.id
100
2) Protected
Python’s convention to make an instance variable protected is to add a
prefix _ (single underscore) to it. This effectively prevents it to be accessed,
unless it is from within a sub-class.
class employee:
def __init__(self, name, sal):
self._name=name
self._salary=sal
>>> e1=employee(“swapnili”, 10000)
>>> e1._salary
10000
3) Private attributes
a double underscore __ prefixed to a variable makes it private.
You cannot access this variable from outside the class. If tried to access, it will throw
an AttributeError
class department:
def __init__(self, name, id):
self.__name=name # private attribute
self.__id=id # private attribute
>>> d1=department(“electronicsl”,101)
>>> d1.__name
AttributeError: ‘department’ object has no attribute ‘__name’
There are 3 types of access modifiers for a class in Python. These access modifiers define how the members of the class can be accessed. Of course, any member of a class is accessible inside any member function of that same class
Access Modifier: Public
The members declared as Public are accessible from outside the Class through an object of the class.
Access Modifier: Protected
The members declared as Protected are accessible from outside the class but only in a class derived from it that is in the child or subclass.
Access Modifier: Private
These members are only accessible from within the class. No outside Access is allowed.
1) The access modifiers in Python are used to modify the default scope of variables. There are three types of access modifiers in Python: public, private, and protected.
2) Variables with the public access modifiers can be accessed anywhere inside or outside the class, the private variables can only be accessed inside the class, while protected variables can be accessed within the same package.
3) To create a private variable, you need to prefix double underscores with the name of the variable. To create a protected variable, you need to prefix a single underscore with the variable name. For public variables, you do not have to add any prefixes at all.
4) Example:
class Car:
def __init__(self):
print (“Engine started”)
self.name = “corolla” #public
self.__make = “toyota” #private
self._model = 1999. #protected