附day1.2的访问如何访问私有属性的问题~(^ ~ ^)~

  • 内部方法调用

  • property函数

  • 装饰器

一、内部方法调用

通过私有化可以从类的内部来访问而实现的一种方法

class Person():def __init__(self):self.__lover = '莹莹'  # 定义一个私有属性passdef getlover(self):#方法return self.__loverdef setlover(self,lover):#方法if lover=='':print('不可能没有心上人')passelse:self.__lover=loverpasspass

其中getlover()和setlover()两个函数就是供外界调用私有化属性的方法。(注:end=''可以使打印不换行欧)

p1=Person()
print("我的心上人是可爱的",end='')
print(p1.getlover())

这样就可以成功的访问到私有化的属性了,实现的结果如下:

二、property函数

此方法比较简单,仅仅需要加入一行代码即可

class Person():def __init__(self):self.__lover = '莹莹'  # 定义一个私有属性passdef getlover(self):#方法return self.__loverdef setlover(self,lover):#方法if lover=='':print('不可能没有心上人')passelse:self.__lover=loverpasspass
#property函数是用来实现直接访问私有属性的
lover=property(getlover,setlover)

lover=property(getlover,setlover)就是porperty函数的体现,接下来就通过以下代码来访问私有变量了:

p1=Person()
print("我的心上人是我可爱的宝贝",end='')
print(p1.lover)

实现结果如下:

芜湖~就这样就直接实现了,较第一种方法,咱们直接就访问到了lover而没有通过getlover方法去访问欧~

三、装饰器

需要我们在最开始的代码上装上装饰器来进行改动,改动如下:

class Person():def __init__(self):self.__lover = '莹莹'  # 定义一个私有属性pass@propertydef lover(self):#方法return self.__lover@lover.setterdef lover(self,lover):#方法if lover=='':print('不可能没有心上人')passelse:self.__lover=loverpasspass

调用方法如下:

p1=Person()
print("我的心上人是我可爱的宝贝",end='')
print(p1.lover)

输出结果如下:

@property给了我们调用私有化属性的权利

@lover.setter给了我们修改私有化属性的权利

修改操作如下:

p1=Person()
print("我的心上人是我可爱的宝贝",end='')
print(p1.lover)
p1.lover='菀菀'
print("嘿嘿嘿!其实我的真正的心上人是我可爱的宝贝",end='')
print(p1.lover)

那么输出结果就会变成这样子了:

语法:

@property:直接添加即可

@XXX.setter:在设置好的修改方法的方法名前加上setter即可

芜湖~小鲲可劲炫炫炫~学习了如何访问类中私有的方法后,有引起了小鲲对Python类是如何创建的这个知识的渴望,毕竟鲲鲲刚入门那么day1.4就去浅学一下Python类是如何写创建的吧~接着炫~~~

小鲲Python嘎嘎炫~day1.3相关推荐

  1. 小鲲Python嘎嘎炫~day1.4

    这个day1.4是在day1.3的基础上对类的创建的浅步学习~类的相关知识我会在之后详细学习并发布,等详细学习发布后我会在此页附上详细学习的笔记序号欧~ 创建类的方法 中心代码附上: class Pe ...

  2. 小鲲Python嘎嘎炫~day1

    Python简介 Python语言特点 语言分类 高级语言运行原理 Python可做方向 一.Python语言特点 跨平台,开源语言 解释型高级语言 Python开发效率高,执行效率低 源代码可见 开 ...

  3. 小鲲Python嘎嘎炫~day2

    小鲲开始进行Python工具Pycharm的安装啦~ 安装 汉化Pc 一.安装 下载Pycharm Pycharm的官网下载地址是一个英文网站:Download PyCharm: Python IDE ...

  4. 小鲲Python嘎嘎炫~day2.3

    模块管理 os提供了许多与操作系统交互的函数 sys系统相关的参数和函数 time时间相关的函数 math提供对浮点数学的底层C库函数访问 random提供了进行随机选择的工具 re为高级字符串处理提 ...

  5. 小鲲Python嘎嘎炫~day3

    缩进规则 Python是使用缩进来区分不同的代码块,所以对缩进有严格要求代码 代码缩进规则 缩进量及缩进字符 一.Python是使用缩进来区分不同的代码块,所以对缩进有严格要求代码 1.缩进不符合规则 ...

  6. python客户端软件开发_妙小程python客户端

    妙小程python客户端官方版是一款由妙小程开发的学习Python课程的学习软件,妙小程python客户端最新版软件拥有丰富代码库,编程更加酷炫,妙小程python客户端集有趣.高科技.有温度于一身, ...

  7. 用 Python 生成炫酷二维码及解析

    用 Python 生成炫酷二维码及解析 我们通过 Python 生成以及识别二维码需要用到的库为:qrcode.myqr.zxing, 安装通过 pip install qrcode/myqr/zxi ...

  8. 小甲鱼python课后题答案_小甲鱼python视频教程下载|小甲鱼零基础学python视频教程附习题答案_ - 极光下载站...

    小甲鱼零基础学python视频教程下载,最完整的小甲鱼python语言学习视频来啦,想要学习python语言的小白们不妨点击观看视频在下学习吧! Python语言介绍 Python是一种面向对象的解释 ...

  9. python实现炫酷字母雨

    python实现炫酷字母雨 import random, pygamePANEL_width = 800 PANEL_highly = 500 FONT_PX = 15 pygame.init() # ...

最新文章

  1. ASP.NET 2.0 绑定高级技巧
  2. 一文带你学会国产加密算法SM4的java实现方案
  3. 学python爬虫需要什么基础-Python爬虫需要学习那些东西?
  4. jQuery时间轴特效
  5. 森林病虫防治系统 (十一)
  6. (转)解读NTFS(一)
  7. java jdk安装 win10,Win10安装多个jdk,共存环境配置,自由切换
  8. Spring实现Controller中方法参数校验
  9. 涂鸦蓝牙SDK开发系列教程——4.烧录授权
  10. JAVA经纬度距离计算并排序-Spatial4j+ForkJoin
  11. 3 Layer and 3 Tier
  12. ubuntu18.04中如何设置开机启动脚本,开机启动命令
  13. 学fpga(先自顶而下设计,再自下而上集成)
  14. Elastic Stack最佳实践系列:Beats->ES,一个更轻型的架构选择
  15. css加载中lodding遮罩动画
  16. Day14-正则表达式及常用类
  17. ADF4350调试记录及频点锁定
  18. HTML和CSS中如何判断ie各版本浏览器
  19. Linux系统根目录详解
  20. 2016年2月西部数码.wang域名注册量及份额报告

热门文章

  1. 借钱不还,还装X——对不起,我爱你
  2. 美工面试题目(合集)
  3. 消息中间件 二 之AMQP实战(上)
  4. JavaScript中的callee和caller的用法
  5. java 进程占用系统内存过高分析
  6. SQLServer 资源池没有足够的系统内存来运行此查询
  7. 很实用的Linux 系统运维常用命令及常识(超实用)
  8. PytorchStreamReader failed reading zip archive: failed finding central directory
  9. 五分钟弄懂如何使用IPv6遨游互联网
  10. 详述MIMIC数据表之 患者转移表 (六)