内置方法:__str__(该方法必须返回字符串类型),在对像被打印时自动触发,然后将该方法的返回值当做打印结果输出)
class People: def __init__(self,name,age): self.name=name self.age=age def __str__(self): #绑定给对象的方法 return ‘<%s:%s>‘ %(self.name,self.age) #这个方法必须返回一个字符串类型的值,格式自定义一不限 obj=People(‘egon‘,18)print(obj) # 底层原理就是print(obj.__str__())PS:打印对象时候就自动触发了__str__这个方法
内置方法:__del__(会在对象被删除时自动触发,我们可以在__del__内做一些回收系统资源的事)
class Foo: def __init__(self,x,y,filepath): self.x=x self.y=y self.f=open(filepath,mode=‘rt‘,encoding=‘utf-8‘) def __del__(self):#这个方法就是对象被删之前一定会触发这个程序下面的代码 # 回收系统资源 self.f.close() obj=Foo(10,20,‘settings.py‘)del obj # 删除对象,底层原理就是obj.__del__()print(‘========================>‘)
isinstance(obj,cls)检查obj(一个实例)是否是类 cls 的对象
class Foo(object): pass obj = Foo() isinstance(obj, Foo)PS:判断一个值数据类型的时候推荐用这个,type不推荐使用
issubclass(sub, super)检查sub类是否是 super 类的派生类(其实就是检查一个类是否是一个类的子类)
class Foo(object): pass class Bar(Foo): pass issubclass(Bar, Foo)
原文地址:https://www.cnblogs.com/shizhengquan/p/10127783.html
时间: 2024-10-08 22:16:41