云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

python如何私有方法

在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,我们在模块级别声明了该方法为私有,以确保其私有性。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《python如何私有方法》
文章链接:https://www.yunzhuji.net/jishujiaocheng/43567.html

评论

  • 验证码