文章目录
魔法函数
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__这个魔法函数而使对象成为一个可迭代对象