内置方法
Posted 随心朝阳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置方法相关的知识,希望对你有一定的参考价值。
常用的内置方法就两个
1.__str_
改变对象的字符串显示
class Foo: def __init__(self,name): self.name = name def __repr__(self): return \'obj in str\' #这里只能是return # def __str__(self): # return \'%s obj in str\'%self.name f = Foo(\'egon\') print(f) #优先执行__str__里面的内容 # 那么你是不是据地__repr__没用呢? # print(\'%s\'%f) #执行的是__str__里面的返回值 # print(\'%r\'%f) #执行的是__repr__里面的返回值 print(\'==============\') print(str(f)) #当执行str(f)时,会去找__str__这个方法,如果找不到的时候,__repr__这个方法就给替补了 print(repr(f)) #1.当打印一个对象的时候,如果实现了__str__方法,打印__str__中的返回值 # 2.当__str__没有被实现的时候,就会调用__repr__方法 # 3.但是当你用字符串格式化的时候,%s和%r会分别调用__str__和__repr__方法 # 4.不管是在字符串格式化的时候还是在打印对象的时候, # __repr__方法都可以作为__str__方法的替补,但反之则不行 # 5.用于友好的表示对象。如果__str__和__repr__方法你只能实现一个:先实现__repr__ #__str__和__repr__
2.__del__
析构方法,当对象在内存中被释放时,自动触发执行。
注:此方法一般无须定义,因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。
3.参考地址
http://www.cnblogs.com/linhaifeng/articles/6204014.html
http://www.cnblogs.com/haiyan123/p/7375772.html
http://www.cnblogs.com/linhaifeng/articles/7341318.html
http://www.cnblogs.com/linhaifeng/articles/7341177.html
以上是关于内置方法的主要内容,如果未能解决你的问题,请参考以下文章