python-面向对象编程-内置方法
面向对象的内置方法(举例)
一、isinstance(obj,cls)和issubclass(sub,super)
1、 检查boj是否为对象(实例)
class Foo(object): pass obj = Foo() print(isinstance(obj, Foo))
2、 检查sub是否子类
class Foo(object): pass class sub(Foo): print('sub') obj = Foo() issubclass(Bar, Foo)
二、item系列——把对象做成像字典对象的东西,从而让操作者可以将像对象那样的操作。
class Foo: def __init__(self, name): self.name = name def __getitem__(self, item): print(self.__dict__[item]) def __setitem__(self, key, value): self.__dict__[key] = value def __delitem__(self, key): print('del obj[key]时,我执行') self.__dict__.pop(key) def __delattr__(self, item): print('del obj.key时,我执行') self.__dict__.pop(item) f1 = Foo('sb') f1['age'] = 18 f1['age1'] = 19 del f1.age1 del f1['age'] f1['name'] = 'alex' print(f1.__dict__)
三、__str__(把类中的属性定制成str 用户打印对象时,将信息返回给用户)
class People: def __init__(self,name,age): self.name = name self.age = age def __str__(self): return '<name> : %s <age> : %s' %(self.name,self.age) p1 = People('alex',12) print(p1)
四、__del__(回收资源)
class Foo: def __del__(self): print('执行我啦') f1=Foo() # del f1 print('------->') #输出结果 # -------> # 执行我啦