• 技术文章 >常见问题 >Python常见问题

    python如何访问私有变量

    silencementsilencement2019-09-30 14:08:23原创3211

    首先,Python 正常访问公有成员变量的方式为:

    class PrivateTest:
        name = "private"
    
    
    if __name__ == "__main__":
        pt = PrivateTest()
        print(pt.name)

    输出结果为:

    private

    Python 中将成员和方法私有化的方式是在成员名或者方法名前面加两个下划线,如下:

    class PrivateTest:
        __name = "private"
    
    
    if __name__ == "__main__":
        pt = PrivateTest()
        print(pt.__name)

    运行报错

     print(pt.__name)
    AttributeError: 'PrivateTest' object has no attribute '__name'

    换个方式

    class PrivateTest:
        __name = "private"
    
    
    if __name__ == "__main__":
        pt = PrivateTest()
        print(pt.name)

    运行依然报错

     print(pt.name)
    AttributeError: 'PrivateTest' object has no attribute 'name'

    Python 中访问私有成员变量的正确方式为:实例类.类名_变量名

    class PrivateTest:
        __name = "private"
    
    
    if __name__ == "__main__":
        pt = PrivateTest()
        print(pt._PrivateTest__name)

    输出结果

    private

    更多学习内容,请点击Python学习网

    专题推荐:私有变量
    上一篇:python如何写中文注释 下一篇:python的函数输入两个参数吗

    相关文章推荐

    • python需要定义变量吗• python变量命名报错是什么原因

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网