python-面向对象速查表-内置方法-内置函数-内置属性(只整理了部分内容)

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

类的内置函数(继承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的子类

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

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

原文地址:https://www.cnblogs.com/suwanbin/p/11409974.html

时间: 2024-10-14 00:11:22

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

50个数据科学和机器学习速查表【转】

在数据科学领域有成千上万的包和数以百计的函数公式,你虽然不需要掌握所有的这些知识,但是有一个速查表在你的学习中是非常重要的.学习大数据包括对统计学.数学.编程知识(尤其是R.python.SQL)等知识的理解,还需要理解业务来驱动决策.这些表单也许能给你一些帮助. Python的速查表 Python在初学者中非常受欢迎,同样足以支持那些最受欢迎的产品和应用程序,它的设计让你在编程的时候感觉同用英语写作一样自然,Python basics 或者Python Debugger的速查表覆盖了重要的语法

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

新手学习机器学习很难,就是收集资料也很费劲.所幸Robbie Allen从不同来源收集了目前最全的有关机器学习.Python和相关数学知识的速查表大全.强烈建议收藏! 机器学习有很多方面. 当我开始刷新这个主题时,我遇到了各种“速查表”,仅仅列出了需要知道的给定主题的所有要点. 最后,我收集了与机器学习相关的速查表.有些我经常参考,认为其他人也可能从中受益.因此, 这篇文章把我在网上发现的很好的27个速查表分享出来,以供大家参考. 机器学习(Machine Learning) 有不少有用的流程图

GNU Emacs命令速查表

GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text mode) 书写文字材料(第二章) 邮件模式(mail mode) 书写电子邮件消息(第六章) RMAIL模式(RMAIL mode) 阅读和组织电子邮件(第六章) 只读模式(view mode) 查看文件,但不进行编辑(第五章) shell模式(shell mode) 在Emacs里运行一个UNIX

故障代码含义速查表 DEBUG代码

故障代码含义速查表 DEBUG代码 1.特殊代码"00"和"FF"及其它起始码有三种情况出现: ①已由一系列其它代码之后再出现:"00"或"FF",则主板OK. ②如果将CMOS中设置无错误,则不严重的故障不会影响BIOS自检的继续,而最终出现"00"或"FF". ③一开机就出现"00"或"FF"或其它起始代码并且不变化则为板没有运行起来. 2.本

windows端口号速查表

windows端口号速查表 1 tcpmux TCP 端口服务多路复用  5 rje 远程作业入口  7 echo Echo 服务  9 discard 用于连接测试的空服务  11 systat 用于列举连接了的端口的系统状态  13 daytime 给请求主机发送日期和时间  17 qotd 给连接了的主机发送每日格言  18 msp 消息发送协议  19 chargen 字符生成服务:发送无止境的字符流  20 ftp-data FTP 数据端口  21 ftp 文件传输协议(FTP)端口

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

https://mp.weixin.qq.com/s?__biz=MjM5ODE1NDYyMA==&mid=2653390110&idx=1&sn=b3e5d6e946b719d08b67d9ebf88283fe&chksm=bd1c3d0d8a6bb41bf05a8ccc9f375528c7c5e4223b190acc9593082b50e17855d2ccdd0e8ac2&mpshare=1&scene=23&srcid=0110mg1nBdOA

【转】游戏程序员的数学食粮05——向量速查表

原文:http://gad.qq.com/program/translateview/7172922 翻译:王成林(麦克斯韦的麦斯威尔)  审校:黄秀美(厚德载物) 这是本系列大家盼望已久的第五篇.如果你对向量了解不多,请先查看本系列的前四篇文章:介绍,向量基础,向量的几何表示,向量的运算. 这篇速查表会列举一些游戏中常见的几何问题,以及使用数学向量解决它们的方法. 基本向量运算的完整表单 首先,先复习一下. 首先我假设你有一个可用的向量类.它的功能大部分集中在2D上,但是3D的原理相同.差别只

汇编指令速查表

一.数据传输指令───────────────────────────────────────它们在存贮器和寄存器.寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把 AX,CX,DX,BX,SP,BP,SI,DI 依次压入堆栈.POPA 把 DI,SI,BP,SP,BX,DX,CX,AX 依次弹出堆栈.PUSHAD 把 EAX,ECX,EDX,

测试启发法速查表

本文是测试大师Elisabeth Hendrickson的测试启发法速查表. 一.通用启发法 这些启发法绝对适用于任何种类的接口和任何种类的系统. 抽象 剔除模型中的细节.忽略低层级的细枝末节,以此进行简化,让模型可以更少地关注具体细节,而更多地聚焦与概念层面. 例如,对于交互图来说,无需详尽地描述一组通信,你也可以只画一条线,再取个名字来描述这些通信的核心交互即可.如果是在测试邮件客户端,那么在发送邮件时客户端可能要经历如下步骤:连接到服务器.鉴权.传输数据.与其在模型中记录所有步骤,你可以直