随笔分类 - python
摘要:当一个class 中定义了__get__, __set__, __delete__三个函数中的任意一个,那么这个class就可以被成为描述符。当在python中使用点 . 来调用某个属性的时候,其load attr的顺序如下图所示。 关于描述符中instance 和owner的解释 class Na
阅读全文
摘要:在pytest中,测试类的实例并不是直接暴露给用户的,因为pytest框架负责在背后自动处理这些实例的创建和销毁。然而,你仍然可以通过测试方法中的self参数来访问这些实例,因为pytest会为每个测试方法创建一个测试类的实例,并将该实例作为第一个参数(按照惯例命名为self)传递给测试方法。所以基
阅读全文
摘要:class f1: def __init__(self): self.name = "f1" def printF1(self): print("this is f1") class f2: def __init__(self): self.name = "f2" def printF2(self)
阅读全文
摘要:def list_submodules(self,package_path): """递归地列出给定包路径下的所有子模块""" all_submodules = [] # 遍历包路径下的所有文件/目录 for importer, modname, ispkg in pkgutil.iter_modu
阅读全文
摘要:import importlib.util def import_module_by_path(module_path,module_name): """ 根据给定的完整路径动态导入模块 """ spec = importlib.util.spec_from_file_location(module
阅读全文
摘要:# testInstance.py # 导入需要的模块 import importlib # 导入模块以动态加载库中的类和函数 import sys # 导入系统模块,用于操作Python解释器的参数和变量 # 定义TestInstance类 class TestInstance: # 初始化方法,
阅读全文
摘要:import re print("*"*20) #re.match 在字符串开头进行匹配 pattern = "(\d+)(@)" string = "123456@qq.com" result = re.match(pattern,string) print(result.group())#匹配整
阅读全文
摘要:""" 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 输入:target = 7,
阅读全文
摘要:class ValueDict(dict): def __init__(self,*args,**kargs): super().__init__(*args,**kargs) def getValueByKey(self,val): result = [] for key,values in se
阅读全文
摘要:from collections import OrderedDict list1 = [1,5,2,1,10] print(list(set(list1))) #[1, 2, 10, 5] 这种方式会改变list里面元素的位置 """ 先介绍fromkeys()函数 fromkeys()就是根据序
阅读全文
摘要:#python 排序的方法 #Python 列表有一个内置的 list.sort() 方法可以直接修改列表 list1 = [1,3,5,10,2,1] list1.sort() print(list1) list1 = [1,3,5,10,2,1] list1.sort(reverse=True)
阅读全文
摘要:from collections import defaultdict #defaultdict 是dict的子类, 所以dict支持的function, defaultdict基本上都支持 #如果程序试图访问不存在的key的value的时候,dict会报key error #但是defaultdi
阅读全文
摘要:chainmap是一个方便的工具类。它是使用链的方式将多个dict链在一起, 并不是真正的生成一个新的dict,从而允许程序可以这获取任意一个dict 所包含的所有key对应的value。 但是由于式链在一起的, 所以多个dict之间是有优先级区分的。而dict自带的update方式是将两个dict
阅读全文
摘要:#使用生成器完成斐波那锲 def create_num(all_num): a, b = 0, 1 current_num = 0 while current_num < all_num: yield a#有yield就是生成器 a, b = b, a+b current_num += 1 obj
阅读全文
摘要:#定义一个新的类,继承dict类,实现根据value或者key的功能 class ValueDict(dict): #定义构造函数 def __init__(self, *args, **kargs): #调用父类的初始化函数 super().__init__(*args,**kargs) #add
阅读全文
摘要:class Cell: #使用@property修饰方法,相当于为改属性设置getter方法 @property def state(self): return self._state #为state属性设置setter方法,这样state属性就变成了读写属性 @state.setter def s
阅读全文