Fluent
文章目录
流畅的python笔记
python数据模型
首先明确一点,特殊方法的存在是为了被 Python 解释器调用的,你自己并不需要调用它 们。也就是说没有 my_object.__len__()
这种写法,而应该使用len(my_object)
。
__repr__
和__str__
的区别在于,后者是在 str() 函数被使用,或是在用 print 函数 打印一个对象的时候才被调用的,并且它返回的字符串对终端用户更友好。
如果你只想实现这两个特殊方法中的一个,__repr__
是更好的选择,因为如果一个对象 没有 __str__
函数,而 Python 又需要调用它的时候,解释器会用 __repr__
作为替代。
文章作者 mayuan
上次更新 2019-11-27