乐趣区

关于python:Python对象私有属性和私有方法伪私有属性和伪私有方法

一、利用场景和定义形式

利用场景

  1. 在理论开发中,对象的某些属性或办法可能只心愿在对象的外部被应用,而不心愿在内部被拜访到
  2. 公有属性就是对象不心愿公开的属性
  3. 公有办法就是对象不心愿公开的办法
    定义形式:
    在定义属性或形式时,在属性名或者办法名前减少两个下划线,定义的就是公有属性或发办法。
    如:个别女人的年龄是属于比拟隐衷的

    代码:

class Women():

    def __init__(self, name):

        self.name = name
        self.age = 28

    def secret(self):
        print("%s 的年龄是 %d" % (self.name, self.age))


xiaoxia = Women("小夏")
print(xiaoxia.age)

xiaoxia.secret()

执行后果:

1. 上面利用公有属性来批改代码:

执行后果:报错——通知咱们女人这个对象没有__age 属性

总结:公有属性在外界是不可能被间接拜访的

2. 把 print(xiaoxia.__age)这段代码正文掉,来看看带有公有公有属性的办法能不能执行

答案:能够执行

总结:在对象的办法外部,是能够拜访对象的公有属性的

3. 看看公有办法能不能执行,批改代码:

总结:公有办法在外界也是不可能被间接拜访的

二、【科普】伪公有属性和伪公有办法

提醒:在日常开发中,不要应用这种形式,拜访对象的公有属性或公有办法。
Python 中,并没真正意义的公有。

  1. 在给属性、办法命名时,理论是对名称做了一些非凡解决,使得外界无法访问到
  2. 解决形式:在名称后面加上 _类名 =》_类名_名称

*把公有属性和公有办法革新后让其在外界也能被拜访到:
革新之前:*

革新之后:

在日常开发中并不要去拜访对象的公有属性或者公有办法,因为公有属性和公有办法是对象的隐衷,既然是隐衷在外界就不要轻易去拜访。

更多对于 Python 基础知识和进阶常识都能够去Python 自学网(www.wakey.com.cn/)学习,还有 Python 学习路线解说。

退出移动版