2021-02-25 Python 魔术方法及触发机制

MarkDown的使用

  • markdown 文本编辑器学习的使用。
    • 基本目录、标题、表格、链接、注释引用、代码片段、字体对齐以及基于LaTex的数学公式编辑。
    • 使用MarkDown来编写、发布博文。(本篇即为第一篇使用MarkDown编辑器编辑的博文。
    • 对于暂时使用不到又比较复杂的甘特图、流程图、UML图等暂未学习。基于本人日常博文需求,文字编辑+代码+公式+简单表格 已经足够使用。

Python 魔术方法及触发机制

Python: 以数据(data)为中心的语言设计。将 数据 抽象为 对象 ,从数据读取/产生到数据产出,数据不仅有值,还被赋予了一系列的操作方法。
python有一类特殊方法使用双下划线“包裹”起来的方法,如__ init__、__getitem__这类方法,在使用时往往不知不觉就用到了这种方法。如列表a[1]就默认使用了 __getitem__方法读取索引为1的位置的值。

魔术方法可以理解为与python内建函数、关键字紧密相连的方法。如在使用内建 len() 函数时就会默认触发使用 “__len __”魔术方法,使用python关键字 del 时会默认触发 __delitem __ 魔术方法。

在定义 时这些魔术方法可以被继承并根据自己的需要重写。

id(x)返回的是x的内存地址。

python数据模式

内建函数;内建方法
模块(modules)是python代码的基本组织单元。即.py文件,通过import system唤醒。
像__name__这种都属于预定义的属性。
__file__属性表示模块所在位置的路径。
dict is module’s namespace

基本可定制化方法

__new__用来创建类的新对象实例时用到。通常调用父类的__new__方法,在一个实例被创建后,再调用该实例的__init__方法。如果__new__没有返回类的实例那么实例的__init__方法也不会被唤醒(调用)。
__init__方法在new方法之后调用,new负责创建实例,init负责客制化实例。

python垃圾回收机制是参考/引用计数制,当一个对象/变量的参考/引用数为0时被循环垃圾回收器回收
del x并不会直接调用 x.__del__方法,只是让x的参考/引用数减一,后者只会在x的参考引用值为0时才触发。
默认情况下,对象在执行比较__eq__时使用的是is方法,__ne__方法实际上也是使用eq方法然后反转结果。
__hash__方法由python内建函数hash()调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值