{site_name}

{site_name}

🌜 搜索

Python_Private__names是Python中的名称约定,用于指示某

Python 𝄐 0
pythonprivate
Python_Private__names是Python中的名称约定,用于指示某些变量或方法是私有的,并且应该避免在类或模块的外部使用。这种约定的实现方式是在标识符前面加上两个下划线(例如__name)。

Python中的私有名称仅对名称进行了轻微的重命名,即它们被重命名为“_classname__name”的形式,其中“classname”是包含它们的类的名称。这样做是为了防止从类外部访问这些变量或方法,但如果愿意,仍然可以通过类名来访问它们。

以下是一个简单的例子:


class MyClass:
def __init__(self):
self.__private_var = 10

def __private_method(self):
print("This is a private method.")

def public_method(self):
print("This is a public method.")
self.__private_method()
print("Private variable value:", self.__private_var)

obj = MyClass()
obj.public_method()
print(obj.__private_var) # This will raise an AttributeError
obj.__private_method() # This will also raise an AttributeError


在这个例子中,__private_var和__private_method都是私有的,只能在MyClass内部访问。public_method是公共的,可以在类的外部访问。当我们尝试从obj的外部访问私有变量或方法时,都会引发AttributeError异常。