python-面向对象03总结

面向对象-day03总结

1.new()方法(了解)

概念:在类中默认有个__new__方法(object上的),该方法用于开辟对象的内存空间
作用:开辟对象的内存空间,默认每次新建对象自动调用 __new__ 方法从而开辟对象空间
调用时机:__new__方法先调用开辟内存,再调用__init__初始化
  例:class 类名(object):
        # 重写__new__方法, 实现自己定义的创建对象的方式
        def __new__(cls,*args,**kwargs):
            return super().__new__(cls)
        

2.单例模式(了解)

概念: 一个类有且只能创建一个对象空间, 目的是为了节约内存资源.例如:回收站
如何实现单例模式
class Singleton(object):
    # 类属性 
    __instance = None
    __isinit = False # 是否初始化
    
    # 重写__new__方法
    def __new__(cls,*args,**kwargs):
        if cls.__instance is None:
            # 创建对象空间
            cls.__instance = super().__new__(cls)
        
        # 无论如何都返回对象空间
        return cls.__instance
    
    def __init__(self,name):
        if Singleton.__isinit is False: # 没有初始化
            # 就进行初始化
            self.name = name
            # 改变条件
            Singleton.__isinit = True

3.异常(掌握)

1.概念:python中的错误就是异常
2.异常是分类型的:class,异常由多个类组成
    我们建议捕获的都是 Exception 或者其子类型的错误
3.异常一旦抛出,终止代码的继续执行
try中的代码块,如果出现异常也会终止执行
4.捕获异常的目的是为了让代码块即使抛出异常仍然能继续向下执行
5.捕获异常的完整语法
try:
    #可能出现异常的代码块
except 异常类名 as e:
    #捕获指定类型的异常
except (异常类名1,异常类名2) as e:
    #捕获多种类型的异常
except Exception as e:
    #捕获所有的代码类型的异常
else:
    #没有异常执行的代码块
finally:
    #无论如何都执行的代码块
 6.手动抛出异常
a.raise Exception("错误的提示信息")
b.except 中使用 raise 将异常继续向外抛

4.模块和包(重要)

1.模块:一个py文件就是一个模块
2.:一个文件夹,标准需要在文件夹中创建一个__init__.py文件,这个文件夹就是一个包
3.模块的使用
	导入模块:
        import 模块名 as 别名   #导入整个模块
        from 模块名 import 函数,,变量   #指定导入
     使用技巧:import 后面接什么,就用什么
 4.模块中的测试代码的标准书写位置
	#定义代码
    if __name__ =="__main__":
    #执行代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值