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. CF940E Cashback 线段树优化DP

    题目描述 Since you are the best Wraith King, Nizhniy Magazin «Mir» at the centre of Vinnytsia is offerin ...

  2. Spark入门(第1讲)

    一.Spark是什么 引用官方文档的一句话 Apache Spark is a unified analytics engine for large-scale data processing. Ap ...

  3. jspang 做个那个pos系统--学习笔记

    /为什么不能使用Object.assign() //使用Object.assign之后数据会发生改变,但是试图没有跟新 <template> <div class="pos ...

  4. 一些非常实用的git命令

    阅读目录 一.前言 二.git branch 和 git checkout 三.git clone 和 git remote 四.git pull 和 git push 五.git merge 和 g ...

  5. python3的字符串常用方法

    find()# 方法 find()# 范围查找子串,返回索引值,找不到返回-1 # 语法 s.find(substring, start=0, end=len(string)) # 参数 # subs ...

  6. Prime Ring Problem--------多重循环用递归来做

    链接:https://vjudge.net/problem/UVA-524 题意:给出正整数n,输出以1开头,由2到n组合的字符序列,使相邻的数相加为素数,最后一个(关键信息为n大于1小于等于16), ...

  7. 关于ajaxSubmit传递参数 后台接收为"参数,参数”的问题

    问题: 用户名密码往后台提交的时候,发现接收到的参数变成了下图 解决办法: 去掉ajaxSubmit的data属性 如下图 解释:因为ajaxSubmit在封装的时候会自动的从被form包裹的表单控件 ...

  8. Python语言及其应用PDF高清完整版免费下载|百度云盘|Python新手入门

    百度云盘:Python语言及其应用PDF高清完整版免费下载 提取码:6or6 内容简介 本书介绍Python 语言的基础知识及其在各个领域的具体应用,基于最新版本3.x.书中首先介绍了Python 语 ...

  9. 我自己总结的sqlite的命令行命令集

    我自己总结的sqlite 的命令行命令 导入文本数据文件时,设置分隔符为","sql>.separator "," sql>import devic ...

  10. Java复习总结(二)Java SE 面试题

    Java SE基础知识 目录 Java SE 1. 请你谈谈Java中是如何支持正则表达式操作的? 2. 请你简单描述一下正则表达式及其用途. 3. 请你比较一下Java和JavaSciprt? 4. ...