python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...
一、类的成员描述符(property)
类的成员描述符是为了在类中,对类的成员属性进行相关操作而创建的一种方式,大部分属于数据清洗
属性有三种操作:get获取属性值、set修改或添加属性、delete删除属性
使用类的成员描述符,大概有三种方法:
1、使用类实现描述器
2、使用属性修饰符
3、使用property函数,语法是:property(fget, fset, fdel, doc)
无论哪种修饰符都是为了对成员属性进行相应控制:
1、类的方式:适合多个类中的多个属性共用一个描述符
2、property:在当前类中使用,可以控制一个类中多个属性
3、属性修饰符:在当前类中使用,只能控制一个类中的一个属性
二、类常用的内置属性,注意是类的内置属性
__dict__:以字典的格式显示类的成员组成
__doc__:获取类的文档信息
__name__:获取类的名称,如果在模块中使用,则获取模块的名称
__bases__:获取某个类的所有父类,以元祖的方式显示
三、类常用的魔术方法:不需要人为调用的方法,基本是在特定的时刻自动触发
魔术方法统一特征:方法名被前后各两个下划线包裹
操作类:
描述符相关:__set__、__get__、__del__
属性操作相关:
运算类的相关魔术方法:
四、类和对象的三种方法
1、实例方法:需要实例化对象才能使用的方法,使用过程中可能需要借助对象的其他对象方法完成
2、静态方法:不需要实例化,通过类直接访问
3、类方法:不需要实例化
python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...相关推荐
- js 把字符串转成json对象的三种方法
js 把字符串转成json对象的三种方法 不管字符串是否含有转义字符,都能转换成 Json 对象 1, js自带的eval函数,其中需要添加小括号eval('('+str+')'); function ...
- Angular Js 判断对象不为空对象的三种方法
前言 在写前端时,很多时候都需要去校验后端返回的数据是否是个空对象.这里就介绍三种方法 第一种 //将json对象转化为json字符串,再判断该字符串是否为"{}" JSON.st ...
- python人工智能入门纳米学位_学习笔记(一) - 机器学习纳米学位
不久前我在Udacity报名了数据分析和机器学习两门纳米课程.之所以对这个感兴趣是因为关注人工智能方面的资讯有一段时间了,觉得这是未来的趋势,希望今后能够在这方面有所成绩.选择纳米课程是因为我觉得它与 ...
- springmvc项目在启动完成之后执行一次方法_学习笔记21-springmvc部分源码学习
SpringMVC:请求处理流程 这几张图讲的大致都是一个东西,就是springmvc的请求处理流程: ① 用户发送请求到springmvc框架提供的DispatcherServlet 这个前端控制器 ...
- python爬b站评论_学习笔记(1):写了个python爬取B站视频评论的程序
学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...
- [转载] 黑马程序员_学习笔记8_C#基础归纳之数组
参考链接: Java中的锯齿数组Jagged array ---------------------- Windows Phone 7手机开发..Net培训.期待与您交流! ------------- ...
- 《JavaScript高级程序设计(第四版)》红宝书学习笔记(第五章:基本引用类型,原始值包装类型,单例内置对象)
第五章:基本引用类型 引用值(或者对象)是某个特定引用类型的实例.新对象通过使用new操作符后跟一个构造函数(constructor)来创建. 5.1 Date 这里不对Date进行详细深入,仅基于书 ...
- java学习笔记-第八章:面向对象编程(中级部分)
第八章:面向对象编程(中级部分) 总体内容 IDEA IDEA介绍 ECLIPSE介绍 IDEA使用 破解IDEA2020.2.2 IDEA工作界面介绍 IDEA调整代码,导航栏的字体大小,主题颜色, ...
- B站韩顺平java学习笔记(六)--面向对象编程章节
目录 一.类和对象 1.定义及区别 2.对象内存布局 3.属性/成员变量 (1)基本介绍 (2)注意事项和细节说明 (3)访问属性 4.对象 (1)创建对象 (2)对象分配机制 (3)Java创建对 ...
最新文章
- .Net Core下发送WebRequest请求的两种方式
- docker笔记1_安装及常用命令
- NYOJ 203 三国志(Dijkstra+贪心)
- 2020下半年软考-系统架构设计师-惜败
- github删除错误的commit并保留之前的提交
- android 城市列表数据,用RecyclerView写的城市列表
- python数据抓取课程_Python爬虫入门教程 21-100 网易云课堂课程数据抓取
- 用户行为变迁 行业垂直深耕——疫情下的2020年移动互联网报告
- 水滴石穿C语言之extern声明辨析
- PHP Smarty无法解析模板文件
- matlab中 编程如和隐藏,在matlab中编程(如何实时处理)
- NLP中的绿色Finetune方法
- Android BroadcastReceiver(一)
- 数据库中自然连接与内连接的区别
- android 跳转oppo应用中心_Android唤起应用商店并跳转到应用详情页
- C++中指针前还加是什么意思
- 第十三届蓝桥杯大赛软件组省赛 Python大学A组 个人题解
- CAD中的标注文字如何沿弧线排列?
- CSS里的 no-repeat 是什么意思
- 通信协议-GMSL(千兆多媒体串行链路)
热门文章
- 杭电OJ分类题目(1)
- Bailian2767 简单密码(POJ NOI0107-10)【密码】
- Bailian2765 POJ NOI0113-03 八进制小数【进制】
- 卷积操作中的矩阵乘法(gemm)—— 为什么矩阵乘法是深度学习的核心所在
- Need ffmpeg exe. You can download it by calling: imageio.plugins.ffmpeg.download()
- matlab 高级函数 —— ind2sub、kron
- 如何将 hadoop1.1.2/1.2.1 源码关联到 Eclipse
- 计算几何常用算法及numpy仿真
- 武春岭 《C语言程序设计》教案PPT,重庆出版社出版,李勇主编的大一C语言课程ppt第1章.ppt...
- java数据结构编写二叉树_java 数据结构与算法 BinaryTree二叉树编写