码迷,mamicode.com
首页 > 编程语言 > 详细

python 类特殊成员

时间:2017-11-05 13:52:27      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:并且   init   div   foo   参数   成员   code   class   elf   

class Foo:
    def __init__(self,age):
        self.age=age
        print(init)
    def __call__(self):
        print(call)   
    def __int__(self):
        return 123
    def __str__(self):
        return foo
    def __add__(self,other):
        return self.age+other.age
    def __del__(self):##gc回收foo销毁
        print(foo is over)
    def __getitem__(self,item):
        return item+10
    def __setitem__(self,key,value):
        print(key,value)   
    def __delitem__(self,key):
        print(key)    


f=Foo(12)##调用init
f1=Foo(13)
f()##调用call
print(int(f))##调用int
print(f)##调用str
print(f+f1)##两个对象相加,会自动执行第一个对象的add方法 ,并且将第二个对象做为参数传递进去 
print(f.__dict__ )#将对象的成员以字典类型全部显示   Foo.__dict__将类的所有成员和方法以字典类型显示    
print(f[10])##调用getitem并将10传给item
f[10]=23#调用setitem将10传给10 23传给value
del f[10]##调用delitem

结果:

init
init
call
123
foo
25
{age: 12}
20
(10, 23)
10

 

python 类特殊成员

标签:并且   init   div   foo   参数   成员   code   class   elf   

原文地址:http://www.cnblogs.com/howhy/p/7787194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!