单例模式
重写new方法,第一次求助父类创建对象的引用,把创建好的引用保存成类属性,下次如果再需要,把第一次创建好的类属性直接返回即可,不管创建多少对象,都是返回第一次创建的对象(id相同),只有第一次是真正创建
重写new方法一定要return super().new(cls)
在调用时需要主动传递cls参数
异常
固定格式try...
except...(捕获到异常)
捕获到异常可以打印“报错”
不加程序崩溃
不知道什么异常加except Exception:
except Exception as ret:
会把错误指定出来
else: ,没有错时执行
finally: 不管有错没错都执行
感觉会出异常时加异常
不是所有的都加异常,感觉会出错才加异常
谁调异常,就把异常传给谁
若需要一个Python没法提供的异常,需自定义异常
定义一个函数,所有异常的父类是Exception,try... except...捕获异常,要知道什么异常加ret
模块
用import引入模块
使用模块
import 模块名
from 模块名import 函数名
from 模块名import *(若有重名,后导入的会覆盖前导入的)
*不写入all =[ ]中不能使用
单个py文件叫模块
多个py文件叫包
name="main"
私有化
xx:公有变量
_x:*禁止导入
_xx:私有化
xx:魔法属性
xx:避免与关键词冲突
==和is
is是比较俩个引用是否指向了同一个
==is是比较俩个对象是否相等
深拷贝,浅拷贝
深拷贝是对一个对象所有层次的拷贝
浅拷贝只拷贝引用,不拷贝内容
列表推导式
基本公式
a = [x for x in range(3)]
a[0,1,2]
网友评论