पाइथन में Access Modifiers का इस्तेमाल यह निर्धारित करने के लिए किया जाता है कि कौन से class members (जैसे variables और methods) को class के बाहर से access किया जा सकता है और कौन से नहीं।
दूसरे शब्दों में कहें तो, “Access Modifiers का इस्तेमाल class members की visibility और accessibility को कंट्रोल करने के लिए किया जाता है।”
Access Modifiers की मदद से हम अपने data को सुरक्षित रख सकते हैं और encapsulation को लागू कर सकते हैं।
Python में तीन प्रकार के Access Modifiers होते हैं:-
- Public
- Protected
- Private

1. Public Access Modifier
Public access modifier का मतलब है कि class के data या methods को कहीं से भी आसानी से access किया जा सकता है। Public members को class के अंदर और बाहर दोनों जगह से access किया जा सकता है।
Example:
class Example:
def __init__(self):
self.name = "Yugal" # Public variable
def display(self):
print("Name:", self.name) # Public method
obj = Example()
print(obj.name) # Accessing public variable
obj.display() # Calling public method
Output:-
Name: Yugal
2. Protected Access Modifier
Protected access modifier का मतलब है कि class के data या methods को केवल उस class और उसके derived (child) classes से access किया जा सकता है।
पायथन में, protected members को define करने के लिए variable या method name के पहले एक underscore (_) लगाया जाता है।
Example:-
class Example:
def __init__(self):
self._age = 30 # Protected variable
class Derived(Example):
def display(self):
print("Age:", self._age) # Accessing protected variable in subclass
obj = Derived()
obj.display()
Output:-
Age: 30
3. Private Access Modifier
Private access modifier का मतलब है कि class के data या methods को केवल class के अंदर ही access किया जा सकता है। Python में private members को डिफाइन करने के लिए variable या method name के पहले दो underscores (__) लगाए जाते हैं।
Private Members को class के बाहर से और subclass से सीधे access नहीं किया जा सकता।
Example:
class Example:
def __init__(self):
self.__salary = 50000 # Private variable
def show_salary(self):
print("Salary:", self.__salary) # Accessing private variable inside class
obj = Example()
obj.show_salary()
# Uncomment करने पर यह error देगा:
# print(obj.__salary)
Output:–
Salary: 50000
पायथन में, Private members को access करने के लिए name mangling तकनीक का इस्तेमाल किया जाता है।
print(obj._Example__salary)
Access Modifiers के फायदे
इसके फायदे बहुत सारें हैं, जिनके बारें में नीचे दिया गया है:-
1:- Data Security
Access modifiers का उपयोग करके data को सुरक्षित रखा जा सकता है, जिससे कोई अनजान व्यक्ति इसे बिना permission के बदल नहीं सकता।
2:- Data Hiding
Private और protected modifiers का उपयोग करके जरूरी data को छिपाया जा सकता है ताकि उसे सीधे access न किया जा सके।
3:- Encapsulation को Implement करना:
Access modifiers की मदद से class के अंदर data और methods को encapsulate करना आसान होता है।
4:- Controlled Access:
Access modifiers यह सुनिश्चित करते हैं कि कौन-सा data या method कहाँ से access किया जा सकता है। इससे code में flexibility और control बढ़ता है।
5:- Readability और Maintenance:
Access modifiers का उपयोग करने से code अधिक structured और readable बनता है। इससे program को समझना और maintain करना आसान होता है।
6:- Reusability:
Encapsulation और controlled access की वजह से code का reuse करना आसान हो जाता है।
इसे पढ़ें:–