python核心
python
凡凡不知所错
I hate being kept in the dark
展开
-
Python单例模式并且保证只被初始化一次
单例模式假设我们有一个日志记录器的类,现在我们不希望在每一个需要写入日志的地方生成一个日志记录器,那么我们的做法是:如果已经在程序中存在一个日志记录器,那么就获取它;如果不存在,则新创建一个日志记录器。class SingletonObject(object): def __init__(self): pass __instance = None # 这里我们需要定义一个类属性用...原创 2021-03-11 16:51:41 · 832 阅读 · 0 评论 -
Python的内存管理机制
原创 2021-01-20 11:45:14 · 139 阅读 · 0 评论 -
python可迭代对象,迭代器和生成器
迭代是数据处理的基石,扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项,这就是迭代器模式。所有的生成器都是迭代器,因为生成器实现了迭代器的接口,迭代器用于从集合中取出元素,生成器用于凭空生成元素。所有的序列都可以迭代:序列可以迭代的原因:iter函数解释器需要迭代对象x的时候,会自动调用iter(x)函数,这个iter函数有这些作用:检查对象是否...原创 2018-12-27 14:58:43 · 265 阅读 · 0 评论 -
Python面向对象编程,元编程metaclass
面向对象的最重要概念就是类class和实例instance,类是抽象的模板,实例是根据类创建出来的具体对象。没有继承类的情况下,就使用object类,这是所有类最终都会继承的类。类的__init__方法:由于类起到模板的作用,所以在创建实例的时候,把一些我们认为必须绑定的属性写进特殊定义的__init__方法:class Student(object): def __init__(...翻译 2018-11-22 11:26:04 · 2533 阅读 · 0 评论 -
Python的错误调试以及单元测试unittest
错误处理:程序运行的过程中如果发生了错误,就可以事先约定返回一个错误代码,但是用错误码表示是否出错十分的不方便,所以高级语言通常都内置了一套try...except...finally的错误处理机制,Python也有这样的错误处理机制:try: print('try...') r = 10 / 0 print('result:', r)except ZeroDivis...原创 2018-11-14 14:03:08 · 2133 阅读 · 0 评论 -
使用Python解析XML
XML是可拓展标记语言,用来传输和储存数据解析XML的三种方法常见的XML编程接口有DOM和SAX,Python有三种方法解析XML:SAX, DOM,ElementTree。SAX means simple API for XML:python标准库包含SAX解析器,用事件驱动模型,通过在解析XML过程中触发一个个事件并调用用户定义的回调函数来处理XML文件。DOM将XML数据在内...原创 2018-11-09 16:19:12 · 325 阅读 · 1 评论 -
Python处理Json数据
JSON是一种轻量级的数据交换格式,易于读写,也易于机器的解析。使用Python处理JSON:Python自己有json模块,用于将Python对象和json字符串进行相互的转换。编码:使用json.dumps()将Python队形编码转换成json字符串>>> import json>>> python_obj = [[1,2,3],123,123...原创 2018-11-08 16:23:14 · 167 阅读 · 0 评论