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

day12 异常 模块 单例的更多相关文章

  1. python小总结3(异常、单例设计模式)

    一.异常 AttributeError:试图访问一个对象没有的成员[属性和方法] ValueError:值错误,传入了一个不期望的值 ImportError:无法导入模块或者包:基本上路径问题 Ind ...

  2. Java---设计模块(单例的变形)(多例)

    设计模式1--单例变形(多例) ★ 缓存在单例中的使用 缓存在编程中使用很频繁,有着非常重要的作用,它能够帮助程序实现以空间换取时间,通常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放 ...

  3. javase基础笔记4——异常/单例和类集框架

    继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...

  4. 单例、异常、eval函数

    一.单例 01. 单例设计模式 设计模式 设计模式 是 前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对 某一特定问题 的成熟的解决方案 使用 设计模式 是为了可重用代码.让代码更容易被他 ...

  5. JavaScript 单例,Hash,抛异常

    1. 单例 ECMA 5 版 记得以前写过几种单例实现,找不到了... function Singleton() { if (this.constructor.instance) { return t ...

  6. Java---设计模块(设计模块的简介及最简单的俩个单例代码加测试)

    设计模式学习概述: ★ 为什么要学习设计模式 1.设计模式都是一些相对优秀的解决方案,很多问题都是典型的.有代表性的问题,学习设计模式,我们就不用自己从头来解决这些问题,相当于在巨人的肩膀上,复用这些 ...

  7. 我心中的核心组件(可插拔的AOP)~第十五回 我的日志组件Logger.Core(策略,模版方法,工厂,单例等模式的使用)

    回到目录 之前的讲过两篇关于日志组件的文章,分别是<第一回  日志记录组件之自主的Vlog>和<第三回  日志记录组件之log4net>,而今天主要说一下我自己开发的另一种日志 ...

  8. iOS开发:XCTest单元测试(附上一个单例的测试代码)

    测试驱动开发并不是一个很新鲜的概念了.在我最开始学习程序编写时,最喜欢干的事情就是编写一段代码,然后运行观察结果是否正确.我所学习第一门语言是c语言,用的最多的是在算法设计上,那时候最常做的事情就是编 ...

  9. Python:Day25 成员修饰符、特殊成员、反射、单例

    一.成员修饰符 共有成员 私有成员,__字段名,__方法 - 无法直接访问,只能间接访问 class Foo: def __init__(self,name,age): self.name = nam ...

随机推荐

  1. iview实战 : 全屏去头去尾的弹窗

    <template> <Button @click="modal3 = true" >No title bar</Button> <Mod ...

  2. css : 使用浮动实现左右各放一个元素时很容易犯的错误

    比如说,有一个div,我想在左侧和右侧各方一个元素. 如果不想用flex,那就只能用浮动了. ... <div class="up clearfix"> <h6& ...

  3. 中介者模式(c++实现)

    中介者模式 目录 中介者模式 模式定义 模式动机 UML类图 源码实现 优点 缺点 模式定义 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显示地相互引用, ...

  4. nginx配置多个图片访问路径

    需求:vue项目打包的时候 会将项目中的一些图片打包到/dist/static/images下,但是有时候会有一些很大的图片,需要单独存放至别的文件夹比如/home/di-img下,不能被打倒包内.部 ...

  5. Oracle整合Mybatis实现list数据插入时,存在就更新,不存在就插入以及随机抽取一条记录

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 Oracle整合Mybatis实现list数据插入时,存在就更新,不存在就插入 entity 对应表中字段,如不对应,在xml中起别名 map ...

  6. MacOS工具

    原文是"池建强"的微信文章,公众号为"MacTalk" 1. Alfred 2. iTerm2 一些基本功能如下: 分窗口操作:shift+command+d( ...

  7. Oracle帐户被锁了,如何解锁

    原文链接:https://jingyan.baidu.com/article/25648fc144b76b9191fd0087.html 背景:Oracle帐户在密码被连续输入错误3次的情况下就会锁定 ...

  8. Seaborn实现单变量分析

    import numpy as np import pandas as pd from scipy import stats,integrate import matplotlib.pyplot as ...

  9. format 进阶

    '''format(数字,str(算术式)+"d或者f") d 表示 int f 表示 float ''' format(5,str(2*4)+"d") '' ...

  10. Developer 转型记:一个开发平台的“魔力”

    摘要:开发者该如何借助AI技术,探索可沉淀的落地应用?在这AI技术浪潮下,实现完美的应用创新?我们一起来听听他的故事…… 随着政策的加持.技术快速的迭代,人工智能热潮正在蔓延.2020年,AI落地大考 ...