小鲲Python嘎嘎炫~day1.3
附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相关推荐
- 小鲲Python嘎嘎炫~day1.4
这个day1.4是在day1.3的基础上对类的创建的浅步学习~类的相关知识我会在之后详细学习并发布,等详细学习发布后我会在此页附上详细学习的笔记序号欧~ 创建类的方法 中心代码附上: class Pe ...
- 小鲲Python嘎嘎炫~day1
Python简介 Python语言特点 语言分类 高级语言运行原理 Python可做方向 一.Python语言特点 跨平台,开源语言 解释型高级语言 Python开发效率高,执行效率低 源代码可见 开 ...
- 小鲲Python嘎嘎炫~day2
小鲲开始进行Python工具Pycharm的安装啦~ 安装 汉化Pc 一.安装 下载Pycharm Pycharm的官网下载地址是一个英文网站:Download PyCharm: Python IDE ...
- 小鲲Python嘎嘎炫~day2.3
模块管理 os提供了许多与操作系统交互的函数 sys系统相关的参数和函数 time时间相关的函数 math提供对浮点数学的底层C库函数访问 random提供了进行随机选择的工具 re为高级字符串处理提 ...
- 小鲲Python嘎嘎炫~day3
缩进规则 Python是使用缩进来区分不同的代码块,所以对缩进有严格要求代码 代码缩进规则 缩进量及缩进字符 一.Python是使用缩进来区分不同的代码块,所以对缩进有严格要求代码 1.缩进不符合规则 ...
- python客户端软件开发_妙小程python客户端
妙小程python客户端官方版是一款由妙小程开发的学习Python课程的学习软件,妙小程python客户端最新版软件拥有丰富代码库,编程更加酷炫,妙小程python客户端集有趣.高科技.有温度于一身, ...
- 用 Python 生成炫酷二维码及解析
用 Python 生成炫酷二维码及解析 我们通过 Python 生成以及识别二维码需要用到的库为:qrcode.myqr.zxing, 安装通过 pip install qrcode/myqr/zxi ...
- 小甲鱼python课后题答案_小甲鱼python视频教程下载|小甲鱼零基础学python视频教程附习题答案_ - 极光下载站...
小甲鱼零基础学python视频教程下载,最完整的小甲鱼python语言学习视频来啦,想要学习python语言的小白们不妨点击观看视频在下学习吧! Python语言介绍 Python是一种面向对象的解释 ...
- python实现炫酷字母雨
python实现炫酷字母雨 import random, pygamePANEL_width = 800 PANEL_highly = 500 FONT_PX = 15 pygame.init() # ...
最新文章
- ASP.NET 2.0 绑定高级技巧
- 一文带你学会国产加密算法SM4的java实现方案
- 学python爬虫需要什么基础-Python爬虫需要学习那些东西?
- jQuery时间轴特效
- 森林病虫防治系统 (十一)
- (转)解读NTFS(一)
- java jdk安装 win10,Win10安装多个jdk,共存环境配置,自由切换
- Spring实现Controller中方法参数校验
- 涂鸦蓝牙SDK开发系列教程——4.烧录授权
- JAVA经纬度距离计算并排序-Spatial4j+ForkJoin
- 3 Layer and 3 Tier
- ubuntu18.04中如何设置开机启动脚本,开机启动命令
- 学fpga(先自顶而下设计,再自下而上集成)
- Elastic Stack最佳实践系列:Beats->ES,一个更轻型的架构选择
- css加载中lodding遮罩动画
- Day14-正则表达式及常用类
- ADF4350调试记录及频点锁定
- HTML和CSS中如何判断ie各版本浏览器
- Linux系统根目录详解
- 2016年2月西部数码.wang域名注册量及份额报告