首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python高级编程-私有化

Python高级编程-私有化

前面我们花费了十四讲,把Python的基础全部学习完毕,可是,我们还是不知道Python到底可以用来干嘛,从今天开始,我们将要学习Python高级编程,那么,我们就从私有化开始讲起吧(相信我,今天的东西很简单)!!!继续加油哦。。

什么是私有化,在基础教程中我们已经讲过了,其实就是变量前后的那几个下划线,比如:

__var = 1

之类的,我们就可以称之为私有化。

我们可以对一个变量私有化,但是,我们还讲了,私有化之后不能继承,不能被导入,先来一个例子大家回顾一下吧:

在上面的代码里,B 类继承 A 类,所以两个属性都应该继承了,因为我们传参时没有报错,所以参数是传递了进去,但是当我们访问时,却出现了问题,下面提示:

AttributeError: 'B' object has no attribute '__age'

即:没有这个属性

但是,我们还可以看到,上面我们传递进去的 name 的值是被成功的打印出来了,说明实例化对象时有 __age 这个属性,否则报错应该是参数过多才对。

那么,我们怎么访问到这个被我们加了“权限”的属性: __age 呢。

这里就用到了我们的私有化!!!!!

假设我们有一个方法,可以返回这个 __age 里面的值,那么直接调用这个方法是不是就可以了?

这里,我们定义了一个方法,叫做 getage ,定义在 A 类中,是一个普通的方法,可以被继承,然后我们使用 类B 继承类A ,实例化一个对象 b ,调用这个方法,成功拿到了我们设置的私有属性。

上面是得到这个值,是没问题,但是如何修改这个值呢,按照现在看来,这个属性虽然可以读取,但是它是只读的。

我们可以模仿上面的思想,既然我们可以定义一个普通的方法去读取,为什么不能定义一个普通的方法去修改呢?

就类似于,get 以及 set 一样,let's do it!

我深刻的知道,来看我的文章的读者都是很聪明的人,相信大家一看就明白这是怎么回事了,我们只是模仿 getage() 方法,做了一个 setage() 的方法。

以上就是 Python编程-私有化 的内容,今天就到这里吧。

祝大家新年快乐,天天开心!!

^_^

喜欢我,就给我一个“好看”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190217G0ORXX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券