python 24 days

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__ 初始化方法
算法和设计模式
设计模式 —— 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']这种调用方式的
原文地址:https://www.cnblogs.com/juxiansheng/p/9119118.html