06 2021 档案
摘要:一、匿名函数作用是简化书写,格式为lambda X:X**2,X为入参,X**2为函数体,翻译成函数即为如下: def fun(X): return X**2 二、常与匿名函数搭配的内置函数:map、reduce、filter、sorted sorted:可对所有可迭代对象进行排序,返回1个新列表,
阅读全文
摘要:一、中间件可以有如下5个方法:process_request、process_view、process_exception、process_template_render、process_response 二、process_request、process_view方法按照注册顺序执行,proces
阅读全文
摘要:一、forms组件对用户输入内容进行格式校验 二、局部钩子:Form子类中定义clean_()开头的方法,对1个字段进行校验,校验通过数据以字典形式存在clean_data字段中,错误信息以字典形式存在errors对象中,通过errors.as_data获取错误信息 三、全局钩子:Form子类中重写
阅读全文
摘要:一、使用xlwt、pandas进行excel文件读写,高版本python不支持xlrd读操作 二、实例: import xlwtimport pandasrbook = pandas.read_excel("student_score.xlsx")rbook["总分"] = ""res = rboo
阅读全文
摘要:一、使用xml.etree.ElementTree、xml.tree.cElementTree进行解析,推荐使用后者,效率更高 二、实例: from xml.etree import cElementTree as ET# 获取对象element = ET.parse("demo.xml")prin
阅读全文
摘要:一、dump和dumps都能实现序列化:将对象转换成可存储或者可传输格式(流)的过程,即对象转换成json数据 二、load和loads都能实现反序列化:将文件内容或者流转换成对象的过程,即json数据转换成对象 三、dump、load针对于文件操作,dumps、loads针对于内存对象操作 四、实
阅读全文
摘要:一、使用CSV模块读写文件,参数delimiter指定分隔类型,默认","分隔 二、参数newline保证写入的文件没有空行 三、实例: import csvwith open("book_in.csv", encoding='utf8') as rf: reader = csv.reader(rf
阅读全文
摘要:一、反射:使用字符串来访问类中的方法或者变量 二、3个方法 getattr():获取属性或者方法的内存地址 hasattr():判断是否有该属性或者方法 setattr():设置属性或者方法 三、实例: class A: def __init__(self, a, b): self.a = a se
阅读全文
摘要:一、引用计数器为主,标记清除和分代回收为辅,加上缓存机制 二、通过调用析构函数进行无引用对象的内存回收 三、析构函数实例: class A: def __del__(self): print(" in __del__")a = A()b = A()
阅读全文
摘要:一、int、string、list这些基本类型的大小比较都是基于如下方法实现:__lt__;__gt__;__le__;__ge__;__eq__;__nq__,同理,类要实现比较功能需要实现这些方法 二、使用装饰器functools.total_ordering可以简化上诉实现的方法 三、实例:
阅读全文
摘要:一、提高代码重用率,类似于装饰器作用,减少重复代码,提高代码可读性 二、实现上下文管理的两种方式:①类中实现__enter__和__exit__方法;②使用装饰器@contextlib.contextmanager 三、上下文管理的流程:先调用____enter__方法,再调用自身的方法,最后调用_
阅读全文
摘要:一、类在实例化的过程中会消耗较多的内存,在类中定义__slots__属性,指定该类只能拥有的属性,以减小内存消耗 二、动态绑定属性实例: class A: def __init__(self, name, age, level): self.name = name self.age = age se
阅读全文
摘要:一、先调用__new__方法创建空的对象 二、再调用__init__方法进行对象进行实例化 三、有特殊类会使用__new__方法进行对象实例化,例如:tuple 四、实例: class A: def __new__(cls, *args, **kwargs): return super().__ne
阅读全文
摘要:位:bit,二进制0或1表示 字节:Byte,一个字节由8位二进制数组成,即8bit 字符:不同编码格式表示的字节长度不一样(ASCII码、UTF8、Unicode编码)
阅读全文
摘要:为提高IO执行效率,会将数据缓存到缓冲区中,达到一定的量之后再写入磁盘文件中,默认为磁盘块设备(block)的大小,例如4096字节,也可以自定义进行设置 一、全缓冲:超过缓冲区时才会将数据写入磁盘文件 # 缓冲区大小为自定义的8192字节 f = open('b.txt', 'a+', buffe
阅读全文
摘要:一、系统默认的编码格式为utf8 二、读写文件时通过参数encoding='utf8'指定编码格式,否则文件在本地打开时会乱码(与系统默认编码不符,参考第1条) 三、实例①,设置编码格式为utf8,本地打开和程序读取都展示正常,无乱码: text = '我是XX,我爱python'f = open(
阅读全文
摘要:一、根据用户传递的参数,动态修改装饰器的入参 二、实例: import time,logging,randomdef timeout(t): def outter(func): def inner(*args, **kwargs): t0 = time.time() res = func(*args
阅读全文
摘要:一、带参数装饰器是生产装饰器的工厂,返回的是装饰器实例;而装饰器内部返回的是被装饰函数的实例 二、实例: def type_assert(*ty_args, **kwargs): def outter(func): def inner(*args, **kwargs): print(*ty_args
阅读全文
摘要:一、使用装饰器可以提高重用性,使用缓存可以提高执行效率 二、实现实例: def outter(func): cache = {} def inner(*args): if cache.get(args): res = cache.get(args) return res res = cache[ar
阅读全文
摘要:一、装饰器是一种特殊的闭包函数,内部函数引用外部函数中的变量或者函数,形成闭包 二、装饰器实例: from functools import wrapsdef outter(func): ####调用func.__name__ 和func.__doc__时打印的是被装饰函数而不是inner @wra
阅读全文
摘要:一、可迭代对象基于islice方法实现切片操作 二、islice实现实例: print(list(islice(range(1, 10), 2, 7, 2))) 三、自定义切片方法实现实例: def my_islice(iterable, start, end, step=1): tmp = 0 f
阅读全文
浙公网安备 33010602011771号