上一篇
python如何私有方法
- 行业动态
- 2024-04-13
- 3
在Python中,私有方法是指只能在类内部访问的方法,要实现私有方法,可以使用以下两种方法:
1、使用双下划线(__
)作为前缀
2、使用单下划线(_
)作为前缀,并在模块级别声明该方法为私有
下面分别介绍这两种方法的实现方式:
方法一:使用双下划线(__
)作为前缀
在类的内部定义一个方法,如果以双下划线(__
)作为前缀,那么这个方法就是私有的,外部无法直接访问这个方法,但是可以通过类的公共方法间接访问。
class MyClass: def __init__(self): self.__private_method() def public_method(self): print("这是一个公共方法") self.__private_method() def __private_method(self): print("这是一个私有方法") 创建一个对象并调用公共方法 obj = MyClass() obj.public_method()
输出结果:
这是一个公共方法 这是一个私有方法
注意:虽然私有方法不能直接访问,但是可以通过类的公共方法间接访问,在上面的例子中,我们通过public_method
方法间接访问了私有方法__private_method
。
方法二:使用单下划线(_
)作为前缀,并在模块级别声明该方法为私有
在类的内部定义一个方法,如果以单下划线(_
)作为前缀,那么这个方法就是私有的,外部无法直接访问这个方法,但是可以通过类的公共方法间接访问,为了确保这个方法是私有的,可以在模块级别声明该方法为私有。
class MyClass: def __init__(self): self._private_method() def public_method(self): print("这是一个公共方法") self._private_method() def _private_method(self): print("这是一个私有方法") 创建一个对象并调用公共方法 obj = MyClass() obj.public_method()
输出结果:
这是一个公共方法 这是一个私有方法
注意:虽然私有方法不能直接访问,但是可以通过类的公共方法间接访问,在上面的例子中,我们通过public_method
方法间接访问了私有方法_private_method
,我们在模块级别声明了该方法为私有,以确保其私有性。