Python魔法函数简单介绍学习笔记

魔法函数

what is magic function?

python中定义的以双下划线开头和结尾,可以增强对象的特性

Python数据模型以及数据模型对Python的影响

自行百度了解

Python中的魔法函数

老师说在后面会在后面章节中贯穿讲解
在这里插入图片描述

__str__对象字符串格式化

在这里插入图片描述

__repr__

一般在开发模式中 使用cmd输入ipython notebook
通常情况下,直接输出某个实例化对象,本意往往是想了解该对象的基本信息,例如该对象有哪些属性,它们的值各是多少等等。但默认情况下,我们得到的信息只会是“类名+object at+内存地址”,对我们了解该实例化对象帮助不大。

那么,有没有可能自定义输出实例化对象时的信息呢?答案是肯定,通过重写类的 __repr__() 方法即可。事实上,当我们输出某个实例化对象时,其调用的就是该对象的 __repr__() 方法,输出的是该方法的返回值。

默认情况下,__repr__() 会返回和调用者有关的 “类名+object at+内存地址”信息。当然,我们还可以通过在类中重写这个方法,从而实现当输出实例化对象时,输出我们想要的信息。

len()函数特殊性

当作用于dict、set、list时,会去直接读取C语言中的数据,会更快,性能更快

补充for循环

在for i in x中首先回去获得x的迭代器,如果x是一个对象并且有__iter__魔法函数则首先考虑它,如果无则会看__getitem__这个魔法函数而使对象成为一个可迭代对象

猜你喜欢

转载自blog.csdn.net/solitudi/article/details/106833475