面向对象——property
1.property特性
- property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值
- 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉到name是执行了一个函数然后计算出来的,注意的是:不能对obj.name进行赋值,否则报错,抛出异常
- 这种特性的使用方式遵循了统一访问的原则
class Room:
def __init__(self,name,owner,weight,length,height):
self.name = name
self.owner = owner
self.__weight = weight
self.__length = length
self.__height = height
@property
def tell_area(self):
return self.__weight * self.__length
r = Room('教室','LuffyCity',10,10,3)
print(r.tell_area)#
r.tell_area = 1 #报错,不能对其进行赋值
面向对象——property的更多相关文章
- 6 [面向对象]-property
1.特性(property) 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 例一:BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性 ...
- 面向对象property属性、静态方法和类方法
一.property属性 1.什么是property特性? property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值. from math import pi class Circl ...
- Python面向对象-@property装饰器
python中,我们可以直接添加和修改属性的值: >>> class Student(object): ... pass ... >>> s = Student() ...
- 面向对象 - 封装/property - 总结
面向对象 - 封装: 封装:在类定义阶段,以__开头的属性名发生了变形 eg: __x --> _A__x / __foo --> _A__foo 1.特点: 1.在类外部无法直接访问 _ ...
- Python 面向对象 组合-多态与多态性-封装-property
面向对象-组合 1.什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 class Foo: xxx = 111 class Bar: yyy = 222 obj = Foo( ...
- python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property
一.面向对象绑定方法 一.类中定义的函数分成两大类 1.绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法. 为类量身定制 ...
- 面向对象【林老师版】:特性(property)(十六)
一.什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 例一:BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成 ...
- 面向对象的封装(私有化)及@property(查看)/@setter(修改)!!!
面向对象有三大特性,继承,多态,封装继承可以减少代码重复量,多态可以用多继承模仿别的语言的建立规则约束子类封装为类的属性/方法的私有化,可以限制别人看,读,修改的权限,目前理解做记录,日后温习,回顾, ...
- 面向对象中的property装饰器讲解
面向对象中可以用property来修饰我们的函数,必须下面的例子 class Test(object): def __init__(self,name): self.name = name @prop ...
随机推荐
- httpHelper请求辅助类
#import <Foundation/Foundation.h> #import "AFNetworking.h" @interface AFHttpClient : ...
- 在windows 上编译部署Rap2
在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...
- [神经网络]一步一步使用Mobile-Net完成视觉识别(一)
1.环境配置 2.数据集获取 3.训练集获取 4.训练 5.调用测试训练结果 6.代码讲解 本文是第一篇,环境配置篇. 先打开tensorflow object detection api 看看需要什 ...
- WINDOWS-基础:LPTSTR
1. LPTSTR解释 与char*等价,表示普通字符/字符串变量,指向字符/字符串的指针. LP: 长指针(long pointer). T: win32环境中有一个_T宏,用来标识字符是否采 ...
- c++作业:递归调用,例题4.5 求第五个人的年龄
递归调用,例题4.5 求第五个人的年龄 #include <iostream> using namespace std; int age(int num){ int a; ) a=; el ...
- PHP 存储密码
最佳实践是 $hashedPassword = password_hash('my super cool password', PASSWORD_DEFAULT); $res = password_v ...
- Bootstrap 模态框 select2搜索框无法输入
去掉模态框的div中的 tabindex="-1" 这个属性 <div class="modal fade" role="dialog" ...
- php使用curl访问https返回无结果的问题
最近在做一个微信自动登录,发起验证以后回调页面获取openid时 curl函数返回空. $appid = "appid appid "; $secret = "secre ...
- Linux中让alias设置永久生效的方法详解
Linux中让alias设置永久生效的方法详解 一.问题描述 1.有很多时候我们想要将很多操作作为一个步骤,那么在不作为系统的服务的情况下,别名是我们最好的选择,但是发现别名只能在一次会话中生效,重启 ...
- python文件打包为exe可执行文件的方法
我自己常用Pyinstaller库打包 第一步: 安装pyinstaller库 pip install pyinstaller 第二步: 在py文件所在目录输入 mydemo.py是自己写的py文 ...