python小总结3(异常、单例设计模式)
一、异常
AttributeError:试图访问一个对象没有的成员【属性和方法】
ValueError:值错误,传入了一个不期望的值
ImportError:无法导入模块或者包:基本上路径问题
IndexError:访问了不在范围内的索引
KeyError:试图访问字典中不存在的键
NameError:使用了还没被赋值的变量
TypeError:传入的数据类型和要求不符合
UnboundLocalError:试图访问一个还未被设置的局部变量:基本上是存在一个和局部变量重名的全局变量,使用global声明
SyntaxError:Python非法代码,代码无法编译
二、单例设计模式
装饰器:作用于一个函数,也可以作用域一个类
def sigleton(cls):
instance = {}
#getInstance/defaultxxx/ currentxxx
def getInstance(*args, **kwargs):
#思路1:可以类似于new,通过是否为NOne
#思路2:将cls作为key,cls对应的实例作为value存储到字典中
if cls not in instance:
instance[cls] = cls(*args, **kwargs) #dict[key] = value
return instance[cls]
return getInstance
@sigleton
class Test(object):
pass
t1 = Test()
t2 = Test()
print(id(t1) == id(t2))
print(t1 is t2)
(详细的看http://www.runoob.com/python3/python3-errors-execptions.html)
这些事我写下来加强记忆的,希望我自己每次看到这句话都可以在心里默记一句,“加油,你还差的远呢”
python小总结3(异常、单例设计模式)的更多相关文章
- Python中的单例设计模式
		
1)设计模式: 是前人工作的总结和提炼.通常,被人们广泛流传的设计模式. 某一问题的特定解决方案,使用设计模式是为了可重用代码,是代码更容易被人理解, 增加代码的可用性. 2)单例设计模式: ...
 - Python——单例设计模式
		
单例设计模式: 让类创建的对象,在系统中只有唯一的实例, 使用python类内置的__new__()方法实现,__new__()方法在创建对象时会被自动调用,通过重写__new__()方法,使得无论用 ...
 - python学习【第十篇】单例设计模式
		
单例设计模式 目的:让类创建对象,在系统中只有唯一的实例,让每一次创建的对象返回的内存地址都是相同的. __new__方法 使用类名创建对象时,python解释器首先会调用__new__方法为对象分配 ...
 - 基于PO和单例设计模式用python+selenium进行ui自动化框架设计
		
一)框架目录的结构 二)config包当中的config.ini文件主要是用来存项目的绝对路径,是为了后续跑用例和生成测试报告做准备然后目前的配置文件大都会用yaml,ini,excel,还有.py也 ...
 - python之单例设计模式
		
设计模式之单例模式 单例设计模式是怎么来的?在面向对象的程序设计中,当业务并发量非常大时,那么就会出现重复创建相同的对象,每创建一个对象就会开辟一块内存空间,而这些对象其实是一模一样的,那么有没有办法 ...
 - python基础--反射、元类、单例设计模式
		
反射:reflect,反射指的是一个对象应该具备可以检测.修改.增加自身属性的能力,反射就是通过字符串操作属性 hasattr(对象,带查询的属性名称) 判断某个对象中是否存在某个属性 getattr ...
 - Servlet以及单例设计模式
		
1.Servlet概述 a)Servlet,全城是Servlet Applet,服务器端小程序,是一个接口,定义了若干方法,要求所有的Servlet必须实现. b)Servlet用于接收客户端的请求, ...
 - JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
		
JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是clas ...
 - 设计模式(三)Singleton Pattern单例设计模式
		
1.饿汉式 public class SingletonDemo { private static SingletonDemo s=new SingletonDemo(); private Singl ...
 
随机推荐
- ElasticSearch(八)Elasticsearch-head 连接不上Elasticsearch的原因和解决方案
			
在上篇博文里ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务中已经访问到了可视化界面.然后兴奋地进行了数据提交测试,提交啊,刷新啊,就是看不到数据变化,仔细一 ...
 - java为什么要重写hashCode和equals方法?
			
如果不被重写(原生)的hashCode和equals是什么样的? 不被重写(原生)的hashCode值是根据内存地址换算出来的一个值. 不被重写(原生)的equals方法是严格判断一个对象是否相等的方 ...
 - javascript自定义一个全类型读取的函数
			
我爱撸码,撸码使我感到快乐!大家好,我是Counter.因为我们知道,在JavaScript中有自带的方法可以读取类型,但是不很全面,今天来分享下如何自己定义一个函数,将所有传入参数的类型给打印出来, ...
 - java中的构造器
			
构造器是什么 1.构造器,也称构造方法.构造函数.作用是构造出来一个类的实例,确保对象得到初始化. 2.构造器的格式: 权限修饰符 类名(无参/有参){}. 3.根据有无参数,可分为无参构造 和有参构 ...
 - Elasticsearch .net client NEST 5.x 使用总结
			
目录: Elasticsearch .net client NEST 5.x 使用总结 elasticsearch_.net_client_nest2.x_到_5.x常用方法属性差异 Elastics ...
 - CF786B Legacy
			
思路 线段树优化建图 基本思想就是要把一个区间连边拆成log个节点连边, 然后一颗入线段树,一颗出线段树,出线段树都由子节点向父节点连边(可以从子区间出发),入线段树从父节点向子节点连边(可以到达子区 ...
 - Python装饰器的另类用法
			
之前有比较系统介绍过Python的装饰器(请查阅<详解Python装饰器>),本文算是一个补充.今天我们一起探讨一下装饰器的另类用法. 语法回顾 开始之前我们再将Python装饰器的语法回 ...
 - Java后台判断是否是ajax请求,并进行处理
			
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
 - dubbo框架初步学习
			
dubbo简介 Dubbo是一个分布式服务框架,以及SOA治理方案.其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等. 官网:http://dubb ...
 - Vue-admin工作整理(十五):Ajax-跨域问题
			
跨域的定义: 解决方法: 1.前端通过配置来解决跨域问题:自定义的vue.config.js配置文件来进行跨域处理:就是只要存在跨域现象 都会代理到一个指定的地址上 devServer: { prox ...