在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
,我们在模块级别声明了该方法为私有,以确保其私有性。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。