深南之星

导航

 

2020年3月4日

摘要: 一: 基本定义 logging模块日志流处理流程 日志器 Logger 提供了应用程序可一直使用的接口处理器 Handler 将logger创建的日志记录发送到合适的目的输出过滤器 Filter 提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录格式器 Formatter 决定日志记录 阅读全文
posted @ 2020-03-04 09:20 深南之星 阅读(257) 评论(0) 推荐(0) 编辑
 

2020年2月24日

摘要: # 怎样从一个集合中获得最大或者最小的 N 个元素列表? import heapq nums = (1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2) print(heapq.nlargest(1, nums)) # Prints [42, 37, 23] print(he 阅读全文
posted @ 2020-02-24 11:56 深南之星 阅读(329) 评论(0) 推荐(0) 编辑
 
摘要: Python中一个py文件就是一个模块,“__all__”变量是一个特殊的变量,可以在py文件中,也可以在包的__init__.py中出现1、在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中, 如:全局变量,函数,类。如下,test001.py和test002.pytest001 阅读全文
posted @ 2020-02-24 09:46 深南之星 阅读(73) 评论(0) 推荐(0) 编辑
 

2020年2月17日

摘要: 工厂模式: 1. 解决对象创建的问题 2. 解耦对象的创建和使用 3. 包括工厂方法和抽象方法 理解:创建产生类的工厂,根据不同的输入去产生不同的类,所以这里解耦了对象的创建和使用 例如: class A: def __init__(self): print('a') class B: def __ 阅读全文
posted @ 2020-02-17 22:49 深南之星 阅读(150) 评论(0) 推荐(0) 编辑
 
摘要: 控制类只被调用一次:: 方法1: class A: num = 1 def __new__(cls, *args, **kwargs): if cls.num==1: cls.num+=1 return super().__new__(cls) print("已经被调用一次了") def __ini 阅读全文
posted @ 2020-02-17 22:36 深南之星 阅读(150) 评论(0) 推荐(0) 编辑
 
摘要: 1.构造方法包括创建对象和初始化对象,在python当中,分为两步执行:先执行__new__方法,然后执行__init__方法;2.__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。3.__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静 阅读全文
posted @ 2020-02-17 21:49 深南之星 阅读(116) 评论(0) 推荐(0) 编辑
 

2020年2月14日

摘要: od = OrderedDict() # 按照key进入的顺序 od['c']='c' od['b']='b' od['e']='e' print(od) print(od.keys()) od.move_to_end('e',last=False) # last控制移到左端还是右端 print(o 阅读全文
posted @ 2020-02-14 09:22 深南之星 阅读(225) 评论(0) 推荐(0) 编辑
 

2020年2月13日

摘要: m=2 n=3memo_01 = [[1] * m for i in range(n) ]memo_02 = [[1]*m]*nprint("memo_01:{},memo_02:{},".format(memo_01,memo_02)) # memo_01:[[1, 1], [1, 1], [1, 阅读全文
posted @ 2020-02-13 16:06 深南之星 阅读(1268) 评论(0) 推荐(1) 编辑
 
摘要: GIL--全局解释器锁 1. python增加GIL的原因: cpython解释器的内存管理并不是线程安全的 保护多线程下对python对象的访问 cpython使用简单的锁机制避免多个线程同时执行字节码 2. 影响: 同一时间只有一个线程执行字节码 CPU密集程序难以使用多核的优势 IO期间会释放 阅读全文
posted @ 2020-02-13 15:30 深南之星 阅读(103) 评论(0) 推荐(0) 编辑
 
摘要: 1. 处理异常/捕获异常 try: raise MyException("11")except Exception as e: print(e) import tracebacktry: raise MyException("11")except : print(traceback.format_e 阅读全文
posted @ 2020-02-13 14:45 深南之星 阅读(152) 评论(0) 推荐(0) 编辑