zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    结巴分词 0.14 版发布,Python 中文分词库
    Lazarus 1.0.2 发布,Pascal 集成开发环境
    Android全屏 去除标题栏和状态栏
    服务器日志现 Android 4.2 传将添多项新特性
    Percona XtraBackup 2.0.3 发布
    长平狐 Android 强制设置横屏或竖屏 设置全屏
    NetBeans 7.3 Beta 发布,全新的 HTML5 支持
    CppDepend现在已经支持Linux
    GromJS 1.7.18 发布,服务器端的 JavaScript
    Apache OpenWebBeans 1.1.6 发布
  • 原文地址:https://www.cnblogs.com/ZT-GJ/p/9539068.html
Copyright © 2011-2022 走看看