• day12 异常 模块 单例


    1.异常 处理
        在程序执行过程中 ,发生,影响程序的正常运行
        在python中 异常就是一个错误
       try  ....  except....捕获异常
        try  用来检测try中语句块中是否有错误  , 有 错误,让except 捕捉异常并处理
        try 可以和except 或者 finally 语句一起执行  也可以一起执行
      作用: 有效的避免了程序报错退出,增强了代码的稳定性
     
           try
                代码...
           except Exception #  Ecxeption是所有异常的基类  可以捕获所有类型的异常
          except 类名  as  错误类型
                 异常处理 
      常见 报错  :  FileNotFountError   文件不存在 NameError: 未声明/初始化错误  Exception: 常规错误基类
        else 在异常中的作用
          try :  
              尝试执行的代码..
          except:
                如果有异常,交给except处理异常 
           else:
                如果没有异常,执行else中的语句
      
       finally :
         try:
           尝试执行的代码
         ....
         finally  
           无论是否发生异常都执行finally  
      异常传递的概念
         
    异常处理  函数嵌套
       
             
     自定义异常的使用方法
        raise: 使用该语句  可以自动出发异常([抛出异常)
          
    python模块
       python 模块 是一个python文件,任何以.py结尾的,都可以作为模块导入  模块内容可以是全局变量,函数,类和执行代码
        引入模块的不同方式
          import 文件名 ----  模块
       局部导入
         from 文件名  import  名字    函数名,类名,变量名
          名字  可以是变量名 函数名,类名
          文件名 导入的作为模块的那个.py文件
        from 文件名  import  *
              把一个模块所有的内容都导入当前的空间
             __all__=['','']  控制模块 导入的内容
     
        __name __
           表示模块的名字的一个系统变量
             主动执行文件时 __name__ 是 :__main__
             作为模块导入时 __name__ 是:  moddle
     
    import  sys
    sys.path       获得python解释器查询目录
      
         包
          在项目中的子文件夹
          作用:对同类功能的模块进行目录的整合
          在包中的子文件夹必须加包名,即使是同级
          import  .包名.函数名
        __init__.py   
        python2中没有__init__.py文件就会报错
     
       __new__()
           创建对象时自动调用该方法
           开发者可以实现new方法来自定义对象的创建过程
         是一个静态方法
            class Dog:
        # __new__ 是静态方法,当创建对象的时候自动调用该方法
        def __new__(cls, *args, **kwargs):
            new_obj = object.__new__(cls) # 创建一个新的对象  cls 代表当前类对象
            return new_obj
     
    wc  = Dog()
    print(wc)
      
         单例
            回收站是单例模式的应用
            确保某一个类只会创建出一个实例,称为单例类
         模式
            好处:降低开发成本,提高开发效率,便于后期维护
         单例模式:  某个类 只能创建一个对象,无论使用什么方法,创建出来的对象始终只有一个,即使创建出N个对象,但是所有对象指向的是同一个空间的地址
      lass Shopping(object):
        __instance = None   # 用来标识是否创建多对象
        __isinit = False    # 记录是否已经进行了初始化
        def __new__(cls, *args, **kwargs):   # 创建对象的时候自动调用该方法
            if cls.__instance is None:    # 判断是否创建过对象
                cls.__instance=  object.__new__(cls)
            return cls.__instance
        # 初始化一次__init__
        def __init__(self):
            if Shopping.__isinit ==False:
                self.price = 0
                Shopping.__isinit=True
  • 相关阅读:
    Node.js Express 框架
    Node.js RESTful API
    vim中自动格式化代码
    如何去掉linux配置文件的注释行和空行
    ImmutableJS
    JavaScript的相关知识
    React容器组件和展示组件
    node.js
    svg学习
    Redux 基础概念
  • 原文地址:https://www.cnblogs.com/ZT-GJ/p/9539068.html
Copyright © 2020-2023  润新知