zoukankan      html  css  js  c++  java
  • python (伪)私有属性和私有方法

    1、定义方式

    在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法。

    2、为什么要定义私有属性和私有方法

    在实际开发中,对象的某些属性或方法只希望在对象的内部被使用,而不希望在外部被访问到。

    2.1 私有属性或方法在对象内部可以被访问

    class Person:
    
        def __init__(self, name):
            self.name = name
            # 定义私有属性
            self.__like = "看苍老师表演艺术"
    
        def like(self):
            # 私有属性在对象的内部是可以访问的
            print(F"{self.name} 爱看电影,特别喜欢{self.__like}")
    
        # 定义私有方法
        def __secret(self):
            print(F"私有方法在对象的内部是也是可以访问的")
    
        def love(self):
            # 私有方法在对象的内部是也是可以访问的
            self.__secret()
    
    
    xiaoming = Person("小明")
    xiaoming.like()     # 输出:小明 爱看电影,特别喜欢看苍老师表演艺术
    xiaoming.love()     # 输出:私有方法在对象的内部是也是可以访问的

    2.2 私有属性或方法在对象外部不能被访问

    3、为什么说私有属性或方法为“伪”

    因为在Python中,并没有真正意义的私有,在定义私有属性或方法时,实际是对名称做了一些特殊处理,使得外界无法访问到。

    处理方式是在私有属性或方法的名称前面加上 _类名 => _类名__名称

    按照处理后方式,在外部一样可以访问到私有的属性或方法,但是在实际开发中建议不要这么做!

  • 相关阅读:
    Google搜索引擎如何运作:不会手动调整结果
    一个Ruby脚本
    IE灭绝!?
    除Windows之外的其他操作系统
    刚收到的新书
    奇怪的计算机语言
    小巧的menuetOS
    Ruby学习笔记(1)
    一个通知
    总结 asp.net 和 javascript获取本地IP(MAC)和服务器IP(MAC)的方法
  • 原文地址:https://www.cnblogs.com/testlearn/p/11720225.html
Copyright © 2011-2022 走看看