Python知识点笔记-面向对象进阶篇
python知识点范围:magic method魔术方法
- magic method魔术方法是前后有两个下划线的属性;
- 创建对象的方法def __new__(cls ),重写的话可能需要一个星号和两个星号的参数;
- 销毁对象用__del__(),由python回收机制调用;
- 对象之所以可以比较是因为有运算符魔术方法属性,只要能比较的都有的;
- 比较运算符__cmp__(self, other)【eq, lt, gt】
- 数字运算符__add__(self, other)【sub, mul, div】
- 逻辑运算符__or__(self, other)【and】
- python运行首先要经过ebal这个函数,它只能识别机器字符串,用__repr__这个魔术方法来转化;
- __str__, __unicode__方法也是返回字符串的,str是直接打印对象时调用的;
- __dir__可以控制调用dir()时要返回的内容;
- 大部分的内建方法都是有对应魔术方法的,我们自己可以多多总结;
- __setattr__每次设置时都会调用;
- __getattr__, getattribute__查询魔术方法,每次没访问到和访问时会调用;
- 设置和查询魔术方法要防止无限递归,容易出错;
- 递归1万次会报错;
- python本身没有访问控制,加了双下划线实际只是改了名字,我们仍然可以访问到;
- __delattr__删除时会访问到;
- python2里什么都不继承算是老式类,缺少一些功能;
Python知识点笔记-面向对象进阶篇相关推荐
- python之路 面向对象进阶篇
一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province:# 静态字段country ...
- jqGrid 学习笔记整理——进阶篇(一 )
jqGrid 学习笔记整理--进阶篇(一 ) 本篇为基础篇的扩展,使其具有增.删.改.查的基本功能. 在浏览导航栏添加所需按钮 <!DOCTYPE html> <html>&l ...
- Python趣味百题-进阶篇-刘硕-专题视频课程
Python趣味百题-进阶篇-11679人已学习 课程介绍 精选的30个实例都从趣味编程的角度出发,并兼顾实用性.实例涵盖了Python程序设计的基础知识和常用算法,很多实例来自编程大 ...
- Python 知识点笔记:走进面向对象
Python知识点范围:走进面向对象 Object Oriented Programming面向对象简称oop: 复用性.灵活性.扩展性: 面向对象两个基本概念:类和对象: 对象包括属性和功能,封装性 ...
- 使用Python进行任务调度(进阶篇)
在上一篇文章使用Python完美管理和调度你的多个任务中,介绍了使用Python+schedule管理和调度任务的入门方法,本文继续介绍任务调度进阶篇. 问题描述:启动多个任务之后,由于种种原因,可能 ...
- Sass-学习笔记【进阶篇】
特别说明: 没有sass基础请移步:[Sass-学习笔记[基础篇]]http://www.cnblogs.com/padding1015/articles/7056323.html 最底部附结构图(实 ...
- Python中级 —— 01面向对象进阶
面向对象进阶 总结.补充(http://blog.csdn.net/fgf00/article/details/52479307) 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 ...
- Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)
初始条件,具体可见我的其他文章. 1.安装Python.Python 学习笔记 第一篇 Python的安装与配置 2.安装Pycharm,并导入第三方包.Python 学习笔记 第二篇 Python ...
- Python知识点笔记-条件选择、循环和函数
Python知识点范围:条件选择.循环和函数 条件选择和循环 python的缩进是4个空格,之所以我们的Tab可以,因为友好的编辑器自动为我们转化了,如果是制表符的话会报错的: 函数定义.条件判断.循 ...
最新文章
- inrange函数_Python 初学者必备的常用内置函数
- mysql command为sleep时项目可以连接_Mysql中Sleep进程连接数过多问题解决
- 走在网页游戏开发的路上(十)
- 一个Demo让你掌握Android所有控件
- 【ZOJ - 4020 】Traffic Light (bfs,分层图)
- 【hortonworks/registry】AVRO 规范-Schema的定义和声明
- git clone错误
- 洛谷——P1046 [NOIP2005 普及组] 陶陶摘苹果
- 转-人工智能和机器学习领域大牛
- ssd raid0 linux 2018,2018-01-28 Linux学习之RAID与LVM硬盘阵列技术
- 客户端可以查询到数据,程序却查询不到数据
- 国家集训队论文99~08年全版
- 扫雷代码(包含扩展函数)
- 如何在云服务器上部署程序
- nwjs编写浏览器外壳
- python3.7安装numpy库_安装了anaconda3,自带numpy库,但不能导入,问题出在哪里?
- Win10如何禁止自动更新?Win10禁止更新又恢复怎么办?
- 【MATLAB】— xlsread和xlswrite函数
- FlashPro2000.C2000.TDS510.TI编程 器支持大部分TI芯片读写2812.28335等
- 打印机服务器ip修改,打印机服务器ip设置
热门文章
- 思路拓展,如果是用2D的方式去做切割
- 单调递增最长子序列 - 从最长公共子序列到单调递增最长子序列
- 汇编第二章节检测2-1
- 找到一个不错的ASP.net电子图书下载网站
- WinCE内核裁减(中文字体)及字库和内核的分离(转)
- WINCE支持的波斯语的codepages
- WINCE6.0+S3C2443的启动过程---内核启动
- 播放视频一会,出错并自动关闭
- python无法打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...
- Iterator:访问数据集合的统一接口