ডেটা লুকানো
৷পাইথনে, আমরা অ্যাট্রিবিউটের নামের আগে ডাবল আন্ডারস্কোর ব্যবহার করি সেগুলোকে অ্যাক্সেসযোগ্য/ব্যক্তিগত করতে বা লুকিয়ে রাখতে।
নিম্নলিখিত কোড দেখায় কিভাবে ভেরিয়েবল __hiddenVar লুকানো হয়।
উদাহরণ
class MyClass: __hiddenVar = 0 def add(self, increment): self.__hiddenVar += increment print (self.__hiddenVar) myObject = MyClass() myObject.add(3) myObject.add (8) print (myObject.__hiddenVar)
আউটপুট
3 Traceback (most recent call last): 11 File "C:/Users/TutorialsPoint1/~_1.py", line 12, in <module> print (myObject.__hiddenVar) AttributeError: MyClass instance has no attribute '__hiddenVar'
উপরের প্রোগ্রামে, আমরা অবজেক্ট ব্যবহার করে ক্লাসের বাইরে লুকানো ভেরিয়েবল অ্যাক্সেস করার চেষ্টা করেছি এবং এটি একটি ব্যতিক্রম ছুড়ে দিয়েছে।
আমরা নিম্নরূপ একটি বিশেষ সিনট্যাক্স ব্যবহার করে লুকানো বৈশিষ্ট্যের মান অ্যাক্সেস করতে পারি -
উদাহরণ
class MyClass: __hiddenVar = 12 def add(self, increment): self.__hiddenVar += increment print (self.__hiddenVar) myObject = MyClass() myObject.add(3) myObject.add (8) print (myObject._MyClass__hiddenVar)
আউটপুট
15 23 23
ব্যক্তিগত পদ্ধতিগুলি তাদের ক্লাসের বাইরে থেকে অ্যাক্সেস করা যেতে পারে, তবে সাধারণ ক্ষেত্রের মতো সহজে নয়। পাইথনে কোনো কিছুই সত্যিকারের ব্যক্তিগত নয়; অভ্যন্তরীণভাবে, ব্যক্তিগত পদ্ধতি এবং গুণাবলীর নামগুলিকে তাদের প্রদত্ত নামগুলির দ্বারা দুর্গম করার জন্য উড়তে চালিত এবং অমঙ্গল করা হয়৷