একটি অবজেক্টের অ্যাট্রিবিউট ক্লাসের বাইরে দৃশ্যমান হতে পারে বা নাও হতে পারে। অ্যাট্রিবিউটের নামের আগে ডাবল আন্ডারস্কোর (__) প্রিফিক্স ব্যবহার করলে সেগুলো বাহিরের দৃষ্টি থেকে সরাসরি অদৃশ্য হয়ে যায়।
উদাহরণ
#!/usr/bin/python
class JustCounter:
__secretCount = 0
def count(self):
self.__secretCount += 1
print self.__secretCount
counter = JustCounter()
counter.count()
counter.count()
print counter.__secretCount
আউটপুট
1 2 Traceback (most recent call last): File "test.py", line 12, inprint counter.__secretCount AttributeError: JustCounter instance has no attribute '__secretCount'
পাইথন ক্লাসের নাম অন্তর্ভুক্ত করে ইন্টারন্যালি নাম পরিবর্তন করে এই সদস্যদের রক্ষা করে। আপনি এই অ্যাট্রিবিউটগুলো object._className__attrName হিসেবে অ্যাক্সেস করতে পারেন। আপনার শেষ লাইনটি নিচের মতো পরিবর্তন করলে কাজ করবে:
print counter._JustCounter__secretCount
আউটপুট
1 2 2