在Python中,通过在变量或方法名前面添加一个或两个下划线,可以将其标记为私有的(private)。这样的变量或方法被称为“私有变量”或“私有方法”。
具体来说:
-
以一个下划线
_
开头的变量或方法,被视为“弱私有”,表示它们不应该在模块外部被直接访问。但是,它们仍然可以在模块外部访问,这是一种约定俗成的做法。例如:
_private_variable = 10 def _private_function(): print("This is a private function")
-
以两个下划线
__
开头的变量或方法,被视为“强私有”,表示它们应该只能在定义它们的类内部访问,无法在外部直接访问。例如:
class MyClass: def __init__(self): self.__private_variable = 10 def __private_method(self): print("This is a private method")
对于强私有变量,Python解释器会在变量名前面添加一个下划线和类名,以防止子类意外覆盖它们。
例如,在上述代码中,
__private_variable
实际上会变成_MyClass__private_variable
。
请注意,这些规则实际上是一种约定,而不是强制性的限制。Python并没有提供真正的“私有性”,因此可以通过一些手段来访问和修改私有变量。然而,强烈建议遵循这些约定,以保持代码的清晰性和可维护性。