- 博客(15)
- 收藏
- 关注
原创 python异常处理详解
"""支付相关异常的基类"""super().__init__(f"余额不足:{balance} < {amount}")这段代码定义了一个自定义异常类insufficientfundserror,用于在“支付金额超过账余额”的场景下抛出错误(比如银行转账,购物付款时余额不足)。拆解一下他的作用和语法:1.首先理解什么是自定义异常,python内置了很多常见异常,但是实际开发中,我们常常需要根据业务场景定义特定含义的异常,让错误信息更直观,这就是自定义异常。
2025-09-16 08:25:48
541
原创 解释python中的map函数
map是一个高阶函数,用于对可迭代对象的每个元素应用指定函数,生成新的惰性求值迭代器,核心功能是在不修改原始数据的前提下,通过函数式编程实现数据转换。什么是可迭代对象呢,就是任何可以被遍历的对象。那么什么是惰性求值迭代器呢,就是不会一次性计算所有结果,而是在需要的时候才逐个生成结果的迭代器,这种按需计算的特性能节省内存空间,尤其适合处理大量数据或者无限序列的时候。为什么叫惰性?普通的列表,元组等可迭代对象,会一次性存储所有元素在内存中,比如【1,2,3,4】会同时占用四个元素的内存。
2025-09-14 12:49:33
438
原创 如何查找字典中value最大值对应的key?
本文介绍了Python字典最大值查找方法。当字典中存在多个相同最大值时,可通过两步操作解决:首先用max()找出最大值,后通过集合推导式筛选出所有对应最大值的键。集合推导式语法为{expr for item in iterable if condition},相比传统循环方法更简洁。还解释了字典视图的概念,即items()返回的动态键值对元组视图,能实时反映字典内容变化。文中对比了集合推导式与常规循环实现方式,并说明了max()函数中key参数的作用——指定用于比较的自定义函数。
2025-09-08 21:30:35
192
原创 python中的多线程和多进程,数据分析选哪个?
对于多线程,实现方式是通过threading模块实现的,那么什么是python中的模块呢?多线程的核心特点是共享内存空间,也就是同一个进程里的线程可以访问相同的数据。第二个特点是受到GIL也就是全局解释器锁的限制,任何时候只有一个线程能执行python字节码。我记得进程是由线程组成的,类似于劳工组成的工程队。进程有独立内存空间,并且绕过了GIL的限制,可以充分利用多核CPU,进程启动开销大,每个进程启动大约需要10-30mb。什么是python中的多线程和多进程,在数据分析中,用哪种方法更好呢?
2025-09-06 18:30:52
217
原创 什么是python装饰器
result = func(*args,**kwargs)这句在干嘛呢,这句就是在调用装饰器所对应的函数了,调用完成会得到一个结果result,end_time = time.time()是获取当前时间的时间戳。那么里面的wrapper也是固定惯例吗,答案是yes,那么def wrapper 是定义了一个函数吗,答案是yes。装饰器本质是一个高阶函数,什么是高阶函数呢,高阶函数是指能接受函数作为参数,或者将函数作为返回值的函数。装饰器是高阶函数的语法糖,也就是说写一个装饰器其实就是写了一个高阶函数。
2025-09-05 23:05:10
285
原创 maven相关面试题
maven里面加了很多依赖包, 一个jar包,比如是a,他依赖了b,b依赖了c,那么a就间接依赖了c。举个例子,项目依赖了a,也依赖了c,a依赖了b的1.0版本,c依赖了b的2.0版本,我们自己的项目间接依赖了b1.0和b2.0。此时可以在依赖c时排除对b的依赖。第二种方法,是在父工程当中,对版本进行锁定,父工程的作用就是对依赖的版本进行统一管理,父工程的pom文件中,有个 标签,对版本号进行锁定。如果我们要使用b的1.0版本,那么我们就可以在父工程中使用这个标签,将b的1.0版本锁定。
2024-01-31 16:13:58
246
1
原创 git冲突
首先是这个git的代码冲突怎么处理?就是gate中的代码最终是上上传到远程仓库的。然后本地也有一个本地仓库。就是本地的这个代码的版本,有可能是和这个远程仓库里代码的版本不一致。那么这个时候呢,就是对于某一个相同的文件来说,本地仓库和。这个远程仓库它的它的这个某一行的代码有可能不一样。那么这个时候就会出现冲突。现在有一种情况就是,嗯,我我是一同事,然后还有一个b同事,我们分别在不同的分支来进行代码开发,而我们对同一个文件进行了这个改动。
2024-01-31 14:54:55
469
原创 实验一:作业调度
操作系统课程设计实验一:作业调度1、假设系统中可同时运行两道作业,给出每道作业的到达时间和运行时间,如下表所示:2、分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。3、计算每一种算法的平均周转时间及平均带权周转时间并比较不同算法的优劣。程序功能:支持从文件读入各个作业的信息(作业名,到达时间,运行时间),可以查看三种算法的作业调度顺序,以及每一个作业的周转时间和带权周转时间。同过查看三种作业调度算法的性能比较表格,比较算法的优劣。设计思路首先得设计一个代表进程A
2021-06-13 11:49:21
1693
1
原创 # PL/SQL编程基础(二)
PL/SQL编程基础(二)系统内置函数Oracle提供了丰富的系统内置函数,常用的系统内置函数有:数学函数、字符串函数、日期和时间函数和统计函数。数学函数数学函数用于对数字表达式进行数学运算并返回运算结果,常用的数学函数如表9.1所示。字符串函数字符串函数用于对字符串进行处理。日期函数日期函数用于处理DATE和TIMSTAMP日期数据类型。统计函数统计函数用于处理数值型数据。用户定义函数用户定义函数是存储在数据库中并编译过的PL/SQL块,调用用户定义函数要用表达式,并将返回
2021-06-12 19:21:51
278
原创 PL/SQL程序设计基本知识(一)
PL/SQL程序设计基本知识PL/SQL编程PL/SQL是面向过程语言和SQL语言的结合,PL/SQL在SQL语言中扩充了面向过程语言的程序结构,例如数据类型和变量,分支、循环等程序控制结构,过程和函数等。标识符、常量、变量(1)标识符标识符是用户自己定义的符号串,用于命名常量、变量、游标(游标这个东西后面会提到)、子程序和包(…)等。标识符必须遵守PL/SQL标识符命名规则,内容如下:●标识符必须由字母开头。●标识符可以包含字母、数字、下划线、KaTeX parse error: Expe
2021-06-11 14:28:57
1300
原创 做一个可以动起来的小人(Opengl)
画一个通过按键控制的小人主函数光照的设置display函数源代码主函数int main(int argc, char** argv){ printf("按键’1’,’2’为整体旋转\n"); printf("按键’3’为头部旋转\n"); printf("按键’4’,’5’,’6’,’7’为手臂旋转\n"); printf("按键’8’,’9’,’a’,’b’为腿部旋转\n"); glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOU
2021-05-23 16:41:37
2314
原创 贪心法的一些理解
关于贪心法的基本思想,最优度量标准: 先来看看问题的一般特征:对于我们遇到的一个问题(比如01背包问题),问题的解是由n个输入的、满足某些事先给定的条件的子集组成。 解决问题的一般方法是:我们会根据题意,选取一种度量标准,然后按照这种度量标准对n个输入排序,排好序后按照这种顺序,一次输入一个量。 如果这个输入和当前已构成在这种度量意义下的部分最优解加在一起不能产生一个可行解(比如说背包问题中,加入当前这个输入后背包超重了),则不把此输入加到这部分解中。否则,将当前输入合并到部分解中从而得到...
2021-05-12 18:41:59
521
原创 中国地质大学(武汉)计算机图形学备考
1.与X扫描线多边形填充算法相比,改进的有效边表算法的主要优点是(计算量小,速度快)。2.与参数表示法相比,图形的点阵表示法的主要缺点是(占存储空间大)。3.三视图的主要优点和缺点是(可以精确丈量尺寸,但不直观)。4.直线扫描转换的中点BH算法之所以便于用硬件实现,,是因为该算法(消灭了实数运算)。5.用中点BH算法画圆时,之所以能够只扫描八分之一的圆,是因为(采用八分法画圆)。6.与正轴测图相比,透视投影图的效果更(接近人的视觉效果)。7.采用内存画图的两个主要优点是(显示速...
2021-05-12 15:07:00
1646
3
原创 分治法的一些理解
1.证明 任何以关键字比较为基础的分类算法,其最坏情况下的时间下界都为Ω(nlogn)。用二元比较树来证明。首先假设参加分类的n个关键字A(1),A(2),A(3),......A(n)互不相同。这样的话,任意两个关键字的比较会导致A(i)<A(j)或者A(i)大于A(j)的结果。让我们以二元比较树来描述元素间的比较过程。若A(i)<A(j),进入下一级的左分支。若A(i)>A(j)进入下一级的右分支。此处上个图...
2021-05-08 23:52:58
1204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅