python私有属性怎么访问?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
要了解私有属性是否真的访问不到,需要从Python是如何实现私有属性入手。在Python中,会把双下划线的属性变为_ClassName__PropertyName的形式,用代码演示一下:
class Foo(object): __bar = 123 print(Foo._Foo__bar) # 123
运行一下可以知道,正常输出了__bar的值,但是不推荐这样去访问私有属性,因为不同的Python解释器对于私有属性的处理不一样。
特例
使用双下划线定义私有属性,有一种特殊情况,当属性后也有两个下划线的时候,这个属性会被Python解释器当做魔术方法,从而不做私有处理。
class Foo(object): __bar__ = 123 print(Foo.__bar__) # 123
上面代码输出了123,证明Python解释器并没有把__bar__当做私有属性。当定义私有属性时,需要注意名字最后最多只能有一个下划线。
另一个特例
假如定义的属性名就叫__呢?不妨直接试一下:
class Foo(object): __ = 123 print(Foo.__) # 123
可以发现名字叫__的属性也不会被认为是私有属性,名字是多个下划线的属性也不是私有属性(比如_______)。
感谢各位的阅读!看完上述内容,你们对python私有属性怎么访问大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。