python 24 days
内置方法、异常处理
new的方法:
class B: def __init__(self): print('ju') def __new__(cls, *args, **kwargs): print('new') ying = object.__new__(cls) return ying a = B()
new
ju
__new__ 构造方法
__init__ 初始化方法
__init__ 初始化方法
算法和设计模式
设计模式 —— java开发过程中的一种规范或者设计范式
两种学派
设计模式 —— java开发过程中的一种规范或者设计范式
两种学派
单例模式
单个 实例
创造一个类,这个类始终只有一个实例 —— 单例模式
单个 实例
创造一个类,这个类始终只有一个实例 —— 单例模式
单例模式
创造一个类,这个类始终只有一个实例 -----单例模式
class C: isinstance = None def __init__(self,name): self.name = name def __new__(cls, *args, **kwargs): if not cls.isinstance: cls.isinstance = object.__new__(cls) return cls.isinstance a = C('sb') b = C('nb') print(a.name) print(b.name)
nb
nb
__del__ 析构方法
对应着一个对象的删除之前执行的内容
@property deleter 伪装成属性的方法,要执行删除该属性
delattr 使用字符串变量名从命名空间中删除这个变量
class C: def __del__(self): print('我牛逼了') a = C() del a # 调用__del__方法,从内存中将b删除
我牛逼了
Python解释器
能够主动回收不用的变量
在程序结束的时候所有的数据都会被清除
如果用户主动删除某个变量
那么这个变量将会主动的被删除
无论上述哪种方式
在删除一个变量之前都会主动的执行析构方法__del__
item系列 —— 打辅助的功能
实现了之后 对象[]去做一些事情了
有一些内置模块中的内置方法
是依赖__getitem__方法的
或者说是依赖item['a']这种调用方式的
是依赖__getitem__方法的
或者说是依赖item['a']这种调用方式的