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知识点笔记-面向对象进阶篇相关推荐

  1. python之路 面向对象进阶篇

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province:# 静态字段country ...

  2. jqGrid 学习笔记整理——进阶篇(一 )

    jqGrid 学习笔记整理--进阶篇(一 ) 本篇为基础篇的扩展,使其具有增.删.改.查的基本功能. 在浏览导航栏添加所需按钮 <!DOCTYPE html> <html>&l ...

  3. Python趣味百题-进阶篇-刘硕-专题视频课程

    Python趣味百题-进阶篇-11679人已学习 课程介绍         精选的30个实例都从趣味编程的角度出发,并兼顾实用性.实例涵盖了Python程序设计的基础知识和常用算法,很多实例来自编程大 ...

  4. Python 知识点笔记:走进面向对象

    Python知识点范围:走进面向对象 Object Oriented Programming面向对象简称oop: 复用性.灵活性.扩展性: 面向对象两个基本概念:类和对象: 对象包括属性和功能,封装性 ...

  5. 使用Python进行任务调度(进阶篇)

    在上一篇文章使用Python完美管理和调度你的多个任务中,介绍了使用Python+schedule管理和调度任务的入门方法,本文继续介绍任务调度进阶篇. 问题描述:启动多个任务之后,由于种种原因,可能 ...

  6. Sass-学习笔记【进阶篇】

    特别说明: 没有sass基础请移步:[Sass-学习笔记[基础篇]]http://www.cnblogs.com/padding1015/articles/7056323.html 最底部附结构图(实 ...

  7. Python中级 —— 01面向对象进阶

    面向对象进阶 总结.补充(http://blog.csdn.net/fgf00/article/details/52479307) 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 ...

  8. Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)

    初始条件,具体可见我的其他文章. 1.安装Python.Python 学习笔记 第一篇 Python的安装与配置 2.安装Pycharm,并导入第三方包.Python 学习笔记 第二篇 Python ...

  9. Python知识点笔记-条件选择、循环和函数

    Python知识点范围:条件选择.循环和函数 条件选择和循环 python的缩进是4个空格,之所以我们的Tab可以,因为友好的编辑器自动为我们转化了,如果是制表符的话会报错的: 函数定义.条件判断.循 ...

最新文章

  1. inrange函数_Python 初学者必备的常用内置函数
  2. mysql command为sleep时项目可以连接_Mysql中Sleep进程连接数过多问题解决
  3. 走在网页游戏开发的路上(十)
  4. 一个Demo让你掌握Android所有控件
  5. 【ZOJ - 4020 】Traffic Light (bfs,分层图)
  6. 【hortonworks/registry】AVRO 规范-Schema的定义和声明
  7. git clone错误
  8. 洛谷——P1046 [NOIP2005 普及组] 陶陶摘苹果
  9. 转-人工智能和机器学习领域大牛
  10. ssd raid0 linux 2018,2018-01-28 Linux学习之RAID与LVM硬盘阵列技术
  11. 客户端可以查询到数据,程序却查询不到数据
  12. 国家集训队论文99~08年全版
  13. 扫雷代码(包含扩展函数)
  14. 如何在云服务器上部署程序
  15. nwjs编写浏览器外壳
  16. python3.7安装numpy库_安装了anaconda3,自带numpy库,但不能导入,问题出在哪里?
  17. Win10如何禁止自动更新?Win10禁止更新又恢复怎么办?
  18. 【MATLAB】— xlsread和xlswrite函数
  19. FlashPro2000.C2000.TDS510.TI编程 器支持大部分TI芯片读写2812.28335等
  20. 打印机服务器ip修改,打印机服务器ip设置

热门文章

  1. 思路拓展,如果是用2D的方式去做切割
  2. 单调递增最长子序列 - 从最长公共子序列到单调递增最长子序列
  3. 汇编第二章节检测2-1
  4. 找到一个不错的ASP.net电子图书下载网站
  5. WinCE内核裁减(中文字体)及字库和内核的分离(转)
  6. WINCE支持的波斯语的codepages
  7. WINCE6.0+S3C2443的启动过程---内核启动
  8. 播放视频一会,出错并自动关闭
  9. python无法打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...
  10. Iterator:访问数据集合的统一接口