কম্পিউটার

পাইথন ক্লাসে ডেটা লুকানো কীভাবে কাজ করে?


ডেটা লুকানো

পাইথনে, আমরা অ্যাট্রিবিউটের নামের আগে ডাবল আন্ডারস্কোর ব্যবহার করি সেগুলোকে অ্যাক্সেসযোগ্য/ব্যক্তিগত করতে বা লুকিয়ে রাখতে।

নিম্নলিখিত কোড দেখায় কিভাবে ভেরিয়েবল __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

ব্যক্তিগত পদ্ধতিগুলি তাদের ক্লাসের বাইরে থেকে অ্যাক্সেস করা যেতে পারে, তবে সাধারণ ক্ষেত্রের মতো সহজে নয়। পাইথনে কোনো কিছুই সত্যিকারের ব্যক্তিগত নয়; অভ্যন্তরীণভাবে, ব্যক্তিগত পদ্ধতি এবং গুণাবলীর নামগুলিকে তাদের প্রদত্ত নামগুলির দ্বারা দুর্গম করার জন্য উড়তে চালিত এবং অমঙ্গল করা হয়৷


  1. পাইথনে উইকিপিডিয়া ডেটা কীভাবে বের করবেন?

  2. পাইথনের একটি মডেলের সাথে নন-লিনিয়ার ডেটা কীভাবে ফিট হতে পারে?

  3. পাইথনে চার্টে কিংবদন্তি কীভাবে যুক্ত করবেন?

  4. কিভাবে পরিবর্তনশীল সুযোগ পাইথন ফাংশন কাজ করে?