今日临时总结的内容,可能还有些不正确的地方,初步当做个速查表吧。

类的内置函数(继承object的,自己重写)

内置函数 执行时机 注意点 调用案例
__init__ 实例化对象时 不允许写返回值(return None和不返回没区别)
子类重写了__init__()方法要在子类中的__init__()方法调用父类的__init__方法(super(当前类, self).__init__(参数)
stu = Student()
__new__ 类实例化被调用时 stu = Studetn()
__call__ 调用对象时 要记得调用父类的 stu(__call__方法的参数)
__str__ 对象转为字符串时 必须return 字符串类型的返回值(默认返回值时类型+地址,没啥意义) print(stu)
__del__ 对象删除时(手动或程序结束、垃圾回收机制) del stu
__getattr__ ( . 方法原理) 用 .访问属性时 该属性不存在才执行,有__getattribute__方法会先执行__getattribute__方法 stu.gaewfg
__setattr__ ( . 方法原理) 用 .新增/修改属性时执行 stu.sex = 'male'
__delattr__ ( . 方法原理) 用del 对象.属性 删除属性时,执行 属性 被删除时才执行 del stu.age
__getattribute__ 用 .访问属性时 不管该属性有没有都会执行,写了这个方法后__getattr__需要自行调用 stu.age
__getitem__ ( [] 原理) 用 [属性名] 访问属性时 stu[age]
__setitem__ ( [] 原理) 用 [属性名] = 修改或新增属性时 stu[age] = 18
__delitem__ ( [] 原理) 用 [属性名] 删除属性时 del stu[age]
__gt__ __ge__ __eq__ __ne__ __lt__ __le__ 比较运算符(自定义比较规则) 调用对应的比较符时 __gt__ 和 __lt__ 这样的只需要指定一个即可 stu1 > stu2
__iter__ _next__ 迭代器协议 当成迭代取值对象时 for i in stu: ...
__enter__ __exit__ 上下文管理 跟在 with 后面时 with MyOpen(__enter__ 的参数) as m:

类的内置属性(直接就可以调用的)

属性 作用 注意点 案例
__dict__ 返回调用者自身的名称空间 stu.__dict__
__class__ 返回当前调用对象的类
__slots__ 指定该类对象能所能拥有的全部属性,减少内存开销 会将类对象的属性给限制死,视情况使用,连__dict__都会被省掉 __slots__ = ['name'] # 加了以后再添加属性就不行了,限制属性
类.mro() 获取到类的mro 列表,即类的查找顺序 python3中才有这个方法
类.__name__ 返回类的类名 class_name = stu.__class__

面向对象相关内置方法(python解释器内置方法)

函数 作用 注意点 案例
hasattr() 判断某个对象是否存在某个属性 返回值是True / False hasattr(p, 'age')
getattr() 从对象中取出值 第三个位置默认值,不存在时返回默认值 getattr(p, 'age', None)
setattr() 为对象添加、修改属性 setattr(p, 'name', 'jackson')
delattr() 删除对象属性 delattr(p, 'school')
locals() 获取当前名称空间内的所有名字 直接修改无效 类的初始化函数初始化属性(__init__)
isinstance() 判断一个对象是不是某个类/某几个类的实例 第二参数可以传元组,返回值为 True/ False isinstance(obj1, (int, Student)) obj1是int 类型或者 Student 类型?
issubclass() 判断一个类是不是另一个类的子类 issubclass(type(obj), Animal) 对象obj 的类 是不是Animal的子类

越来越感觉时间不够用了,要加油呀!

一寸光阴一寸金,寸金难买寸光阴。

python-面向对象速查表-内置方法-内置函数-内置属性(只整理了部分内容)的更多相关文章

  1. 机器学习算法 Python&R 速查表

    sklearn实战-乳腺癌细胞数据挖掘( 博主亲自录制) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  2. 机器学习算法 Python & R速查表

  3. 可能是史上最全的机器学习和Python(包括数学)速查表

    新手学习机器学习很难,就是收集资料也很费劲.所幸Robbie Allen从不同来源收集了目前最全的有关机器学习.Python和相关数学知识的速查表大全.强烈建议收藏! 机器学习有很多方面. 当我开始刷 ...

  4. Python系列教程-详细版 | 图文+代码,快速搞定Python编程(附全套速查表)

    作者:韩信子@ShowMeAI 教程地址:http://showmeai.tech/article-detail/python-tutorial 声明:版权所有,转载请联系平台与作者并注明出处 引言 ...

  5. 分享 - 27 个机器学习、数学、Python 速查表

      转载自:伯乐在线 - iPytLab,原文链接,侵删 机器学习涉及到的方面非常多.当我开始准备复习这些内容的时候,我找到了许多不同的”速查表”, 这些速查表针对某一主题都罗列出了所有我需要知道的知 ...

  6. python 下的数据结构与算法---2:大O符号与常用算法和数据结构的复杂度速查表

    目录: 一:大O记法 二:各函数高阶比较 三:常用算法和数据结构的复杂度速查表 四:常见的logn是怎么来的 一:大O记法 算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记 ...

  7. GNU Emacs命令速查表

    GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text m ...

  8. 这可能是AI、机器学习和大数据领域覆盖最全的一份速查表

    https://mp.weixin.qq.com/s?__biz=MjM5ODE1NDYyMA==&mid=2653390110&idx=1&sn=b3e5d6e946b719 ...

  9. Bash中文速查表

    最好用的中文速查表(Cheatsheet) 来源:https://github.com/skywind3000/awesome-cheatsheets 感谢网友们的贡献! ############## ...

随机推荐

  1. mysql:unknown variable 'default-character-set=utf8'

    1.修改my.cnf后,执行 service mysql restart 重启数据库失败 service mysql restart Shutting down MySQL.. SUCCESS! St ...

  2. Linux Redis的性能展示

    我们可以通过redis-cli 连接上redis ,例如 : redis-cli -h 127.0.0.1 -p 6379 连接上redis,然后通过INFO查看redis的一些信息.我们可以查看一些 ...

  3. 【转载】详解CI、CD相关概念

    在软件的编译发布的过程中,经常能够看到CI.CD这样的词语.其实他们是专业的缩写短语,这里介绍下他们的概念和区别. 敏捷软件开发 敏捷软件开发,英文全称:Agile software developm ...

  4. flask静态html

    flask使用静态html 在flask并不是所有的html都需要做成动态html,并且做成动态html在使用静态资源时要改变它的路径.所以我们有些可以使用静态html. 静态html不需要后台渲染, ...

  5. 更新ubuntu的对应源配置文件

    UBUNTU中安装依赖包,出现如下错误:E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/universe/o/openjdk-8/o ...

  6. Python 寻找文件夹里以特定格式结尾的文件

    代码: import os, re, time name = 'linuxday01' flags = True# 文件夹bi_test中的文件列表 print os.listdir('E:\\bi_ ...

  7. shiro中接入单点登录功能

    最近新建的系统中使用了shiro,而shiro框架中包含登录认证和鉴权的功能,因为我们系统要统一接入公司内部的单点登录(isso)系统,所以通过isso的登录用户,需要在shiro中置为已认证,一下提 ...

  8. easyUI之Pagination(分页)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  9. C语言处理CSV数据

    以下代码为博客 <Python的并行求和例子>: http://www.cnblogs.com/instant7/p/4312786.html 中并行python代码的C语言重写版. 用C ...

  10. 史上最全最详细JNDI数据源配置说明

    转: 史上最全最详细JNDI数据源配置说明 2017年08月05日 17:12:08 万米高空 阅读数 23983   版权声明:本文为博主原创文章,转载请注明出处,尊重劳动成果,谢谢~ https: ...