在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
,我们在模块级别声明了该方法为私有,以确保其私有性。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/469078.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复