自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿小张的升级路

记录自己在学习中的收获

  • 博客(14)
  • 收藏
  • 关注

原创 python 自定义异常捕获

我们在处理程序异常的时候,可能需要自己定义一些传入的message,自己定义一些error对应的error_code,在后续做异常统计的时候可以有自定义的数据,这时候其实我们可以自定义异常捕获类。异常类一般都是继承自Exception,自定义异常类如下:class PangolinException(Exception): """ Customized Exception for Pangolin Style Inspection Test Exception raised fo

2022-03-26 13:03:59 1730

原创 python——multimethod包 多分派

介绍:multimethod(又名multiple dispatch、generic function)是python提供的一个功能包,它可以实现singledispatch类似的功能,而对于相同类型的返回不用多次注册使用方法:1、使用@multimethod标记处理object类型的基函数(base_function)2、各个专门函数使用@<<base_function>>.register装饰3、专门函数的名称无关紧要,可以直接选择用_作为函数名4、为每个需要处理的类

2022-03-26 11:52:59 1708

原创 python——singledispatch 单分派

介绍:singledispathch 是Pyhton 在functools里的方法,用作装饰器,它可以把整体方案拆成多个模块,甚至可以为你无法修改的类提供专门的函数,使用@singledispatch装饰的函数会变成泛函数。好处:类似于java的重载机制,可以在一个类中为同一个方法定义多个重载变体,比在一个函数中使用一长串的if/elif好

2022-03-26 11:35:31 2046

原创 python 检查代码规范,类型标注

python提供了一些包可以用来format代码,检查代码规范,检查类型标注是否正确等。1、blackformat代码,cd 到对应的目录,执行black -l 120 . 2、flake8检查代码规范,执行flake8 . 3、mypy检查类型标注,执行mypy . 如果是在有很多文件的工程里,可以创建Makefile文件,将这些命令包装起来,可以指定有效的目录范围,下列代码规定只对applib/common下的代码生效SHELL = bashcheck: fmt

2022-03-20 15:22:23 938

原创 python 枚举类

在使用Python的过程中,经常会需要用到映射关系,一般想到的是使用dict,比如fruits_map = { "apple": "red", "banana": "yellow", "watermelon": "green"}这时候,我们如果知道key,就能很快知道对应的value,但如果我们同时也想通过value,获取key呢,这时候用dict就显得不太合适了,需要遍历其中的key,判断其value是否和想要的相等,或者需要再写了一个dict。对于这种情况,其实使用枚举类就可以较好的解决

2022-03-18 10:13:18 275

原创 python 实现with语句

with 语句的目的是简化 try/finally 模式。这种模式用于保证一段代码运行完毕后执行某 项操作,即便那段代码由于异常、return 语句或 sys.exit() 调用而中止,也会执行指定的 操作。finally 子句中的代码通常用于释放重要的资源,或者还原临时变更的状态。最常见的例子是确保关闭文件对象:with open('mirror.py') as fp: src = fp.read(60)print(len(src)) # 60print(fp) #<_io.

2022-03-18 08:56:19 1307

原创 python 对可迭代对象的某些字段进行排列组合

在使用python的过程中,可能会遇到需要对list或者dict中的其中几个字段进行排列组合的情况,比如对于下面的example,想要得到最终res1-res6的结果,该如何实现呢?example = {"name":"Alex", "age":[18,19,20],"height":["175","180"]}res1 = {"name":"Alex", "age":18,"height":"175"}res2 = {"name":"Alex", "age":18,"height":"180"}r

2022-03-17 08:59:28 407

原创 自动重试的装饰器

经常会遇到一些需要重试的函数,在这种情况下,使用装饰器是比较合理的解决方案def auto_retry(times=3, low=1, high=2): """ automatically retry function wrapper :param times: retry times, default 3 times :type times: int :param low: minimum random waiting time, default 1 :t

2022-03-17 08:12:29 303

原创 python 开启多线程

为了加快程序运行速度,对相同功能的一些执行语句,python可以通过ThreadPool做到,重要的函数为:pool = ThreadPool(processes=3)pool.apply_async(func, args=(**krags))pool.close()pool.join()from multiprocessing.pool import ThreadPooldef parallel(self, cls, driven_data_key=None): if no...

2022-03-12 21:52:30 1795

原创 使用SpringBoot日志报错

最近在网上学SpringBoot,看到教程里面关于日志的使用是这样的:Logger logger = LoggerFactory.getLogger(getClass()); // 日志的级别从低到高,如下排列 @Test public void testLog() { logger.trace("这个trace日志"); logger.d...

2020-02-13 15:17:20 1107 6

原创 String数组和List之间的相互转换

一、List 转为 String 数组1、利用toArray方法(比较常用)List<String> list=new ArrayList<>();list.add("a");list.add("b");list.add("c");String[] str = list.toArray(new String[list.size()]);2、逐个将list中的...

2020-01-08 13:37:01 22703

原创 String类型和其他基本数据类型的相互转换

String类型和其他基本数据类型进行转换时,不能强转,以String和int为例,(String)(2),(int)(“abc”)这两种写法均是错误的其他类型 ==> StringString 类有静态方法valueOf(),用于将基本类型的变量转换成String类型int n1 = 1;double n2 = 2;String s1 = String.valueOf(n1);...

2019-12-10 16:04:28 328

原创 二进制算法题1

关于二进制的算法题,首先考虑二进制的位操作,特别是要善于使用异或操作。比如以下操作:1、判断一个数的二进制形式是否全为1思路:如果这个二进制数全为1,那么将这个数加1后,将得到一个最高位为1,其余位均为0的数,将新得到的数和原来的数做与操作,将全为0举例:7 --> 1118 --> 1000111 & 1000 = 00002、判断一个数是否为交替位二进制...

2019-11-28 10:15:45 832

原创 Java中关于Map的几种遍历方式

Java中关于Map的几种遍历方式欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

2019-11-06 15:30:43 270

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除