![](https://img-blog.csdnimg.cn/75e5789fbfe84d72b4361200cc8a5245.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python进阶
文章平均质量分 69
python相关知识教程
曲鸟
测试效能领域学习工作多年,主导过多个性能、功能、UI、接口测试平台建设,在不知不觉中成为全栈开发。
欢迎交流学习。
展开
-
使用pypy来提升你的python项目性能
PyPy是用Python实现的Python解释器的动态编译器,是Armin Rigo开发的产品,能够提升我们python项目的运行速度。PyPy 是利用即时编译的 Python 的替代实现。背后的原理是 PyPy 开始时就像一个解释器,直接从源文件运行我们的 Python 代码。但是,PyPy 不是逐行运行代码,而是在执行它们之前将部分代码编译为机器代码。根据。原创 2022-12-20 14:09:33 · 4380 阅读 · 7 评论 -
Pycharm没有报错提示(误触ignore)的解决方案
Pycharm的能配置我们的提示规则,功能还是很强大的,但大多数情况我们都不需要去修改它,使用默认的就可以了。原创 2022-12-05 09:31:58 · 6435 阅读 · 6 评论 -
Python性能分析利器pyinstrument讲解
一、前言程序的性能也是非常关键的指标,很多时候你的代码跑的快,更能够体现你的技术。最近发现很多小伙伴在性能分析的过程中都是手动打印运行时间的方式来执行的:import datetimestart=datetime.datetime.now()b=[i for i in range(10000000)] # 生成长度为一千万的列表end=datetime.datetime.now()print(end-start)文章目录一、前言二、Pyinstrument使用1. 举例2. Pyinst原创 2022-02-07 11:41:38 · 8177 阅读 · 25 评论 -
Python面试题大全总结
有很多时候,你可能python使用的很熟练,但在面试的时候可能就过不了,毕竟常说的面试造火箭,入职拧螺丝的情况是真实存在的。所以背八股文也是极其重要的!这里分享一些常见和高频的面试题(300道)给大家:原创 2022-01-17 08:07:44 · 12359 阅读 · 59 评论 -
手速最快的是电竞选手?错了,是程序员
**648KPM,足足高了第二名100多KPM!**大家也可以去试试自己的KPM有多少,打字测试网站:[https://dazi.kukuw.com/](https://dazi.kukuw.com/)---其实这并非手打的,而是使用了selenium来实现自动打字,并增加了一些防止作弊检测的手段,比如:1. 动态速度2. 随机输错、退格3. 错字修正从而实现打字排行榜第一。原创 2022-01-13 09:26:29 · 3379 阅读 · 22 评论 -
Python版学生管理系统源码分享【考试/作业必备】
一、前言相信很多小伙伴在学校期间都会被要求实现一个学生管理系统,很多是让用C语言实现,有的是要求Python。这里通过python实现了一个学生管理系统,考试/交作业必备!二、实现效果三、完整源码def index(): """ 管理系统主页 """ print("*" * 30) print("Python学生管理系统\n\n1.添加学生的信息\n2.删除学生的信息\n3.修改学生的信息\n4.查询学生的信息\n5.查询所有学生的信息\n6.退出系统原创 2022-01-11 08:08:56 · 4985 阅读 · 18 评论 -
Python处理json字符串为什么不建议使用eval()
一、前言最近发现一些小伙伴使用eval来处理json,而且为了能够将json成功转为字典而不报错,还写了如下的赋值操作 (因为json中空为null,假为false,真为true与Python的表达不一样,如果不进行下面代码的赋值,用eval转换就会报错):null=Nonefalse=Falsetrue=True其实Python的标准库中有处理json的库,就叫json,比如要把json字符串转为字典的话只需要使用json.loads这个方法就可以了;另外,eval处理json的性能也是远远原创 2021-10-19 17:23:25 · 8824 阅读 · 28 评论 -
Python循环器-itertools
Python自带模块`itertools`提供了非常有用的用于操作可迭代对象的函数方法,例如在1和2中无限循环,还有组合两个列表的笛卡尔积循环等。原创 2021-12-18 15:04:49 · 3217 阅读 · 11 评论 -
一文搞懂Python上下文管理器
什么是上下文管理器,一文搞懂原创 2021-12-17 10:11:01 · 7643 阅读 · 45 评论 -
Python缓存lru_cache的介绍和讲解
我们经常谈论的缓存一词,更多的类似于将硬盘中的数据存放到内存中以至于提高读取速度,比如常说的redis,就经常用来做数据的缓存。Python的缓存(lru_cache)是一种装饰在被执行的函数上,将其执行的结果缓存起来,当下次请求的时候,如果请求该函数的传参未变则直接返回缓存起来的结果而不再执行函数的一种缓存装饰器。那它和redis的区别在哪?有什么优势?怎么使用? 下面为你讲解原创 2021-11-23 10:57:24 · 29346 阅读 · 72 评论 -
68行Python代码实现带难度升级的贪吃蛇,你能坚持到第10关吗
一、前言之前版本很多小伙伴都觉得难度过高,另外也有粉丝问还能不能精简代码。所以这版降低了难度 (由原来过关增加5km/h改为3.5KM/h),并通过反射代替IF ELSE的写法,并删除了一些冗余的代码,将代码压缩到了71行 (不必要的压缩代码是不建议的,这里压缩代码只是为了好玩)二、实现效果三、环境要求python 3+pygame包 安装命令:打开cmd 输入: pip install pygame四、源码分享import pygameimport sysimport ra原创 2021-11-03 09:20:59 · 31535 阅读 · 67 评论 -
一文搞懂Python装饰器
本不打算专门写文来讲装饰器的,但有不少粉丝问到了,自己查阅了一些网上的装饰器教程,感觉讲解的都很复杂。所以我这里专门开题来讲一讲它原创 2021-10-25 16:49:43 · 17877 阅读 · 52 评论 -
Python列表元素为字典时,如何根据其中某个相同的键值进行元素合并
Python列表元素为字典时,如何根据其中某个相同的键值进行元素合并原创 2021-10-15 17:19:56 · 9307 阅读 · 50 评论 -
三行代码使用Python将视频转Gif
点我跳转文末,跟我一起从0开始学测开文章目录一、前言二、教程1. 安装必备库moviepy2. 写入代码3. 转换效果4. 转换的GIF很大怎么办4. 截取视频长度转换5. 指定转换后的图片大小(分辨率)一、前言很多网站提供视频转GIF的功能,但要么收费要么有广告实际上我们通过python,几行代码就能够实现视频转gif二、教程1. 安装必备库moviepypip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple2. 写.原创 2021-09-30 11:48:42 · 12250 阅读 · 52 评论 -
学Python不知从何下手?Python技能树助力一臂之力|Python技能树测评
一、前言无论上是初学Python的小伙伴,还是学过一段时间有一定经验的小伙伴或多或少都会有迷茫和疑惑:看着大家都说Python好学,好就业,可到底该怎么学,学到什么程度才能去找工作呢?我想学Python相关领域的知识点,但网上的教程太杂太乱,看了半天还是不知从而下手,哪里有清晰的学习路线、知识点分类呢?这也是很多粉丝常问我的问题,由此可见有一个明确的路线,和清晰的技术栈结构,是非常重要的!二、解决方案这里推荐一下CSDN的【Python技能树】【Python技能树】的左侧,通过树的形式详细详原创 2021-09-27 11:24:27 · 18628 阅读 · 67 评论 -
Python三元表达式(三目运算符)|Python技能树征题
文章目录一、前言二、练习题题目一题目二(进阶)一、前言三元表达式(三目运算符)能够简洁我们的代码,代替很多if else在Java、C、JavaScript等语言中,他们的格式为:返回布尔值的判断条件?为真时的结果:为假时的结果但是,Python的三元表达式的写法有别于其他语言,Python的语法为为真时的结果 if 返回布尔值的判断条件 else 为假时的结果二、练习题题目一下面的代码会让用户依次输入x,y两个数值,如果y大于x则z等于True,否则z等于False,请将其转换为原创 2021-09-24 17:45:37 · 4144 阅读 · 6 评论 -
Python中super()详解及应用场景举例
一、前言最近有粉丝向我咨询super()相关的问题,说网上搜索到的教程不够通俗易懂,看了之后还是不太理解。所以在这里基于我自己的理解来讲解一下super()这个方法!二、什么是super1.super也是一个类,是的。他不是一个方法也不是一个内置的关键字。class A: passprint(type(super(A)))输出结果<class 'super'>直接通过查看super的源码也可以看出它是一个类另外,网上很多文章讲解super就是用来调用父类的原创 2021-09-13 09:26:53 · 11389 阅读 · 46 评论 -
那些让你惊掉下巴到肚皮上的python冷知识(二)
一、我不是我现在,我们在交互模式下分别定义两个变量:a,b,他们的值都等于200:原创 2021-08-30 07:57:32 · 10132 阅读 · 92 评论 -
元组不可变,你真的确定吗?有了列表,元组存在的意义又是什么?【一文搞懂】
一、前言好好学过几天python的小伙伴肯定知道,python有一种数据类型叫元组!它与列表很相似,元组用小括号表示(1,2),列表用方括号表示[1,2]但元组与列表最重要的区别就在于元组一经定义就不能改变其内容!类似下面的代码执行的话会直接报错:a=(1,2)a[1]=3print(a)报错信息但元组中的内容真的是不可改变的吗?下面的这段代码可能会让你心生疑惑a = (1, {'key': 1})a[1]['key'] = 2print(a)输出结果:这结果不是原创 2021-08-25 09:32:56 · 12283 阅读 · 95 评论 -
Python通过字符串来执行函数甚至代码!这么顶的操作快来了解下!
一、前言最近有个需求,想在数据库中存入函数名的字符串,通过传递它来控制不同的函数执行以便业务流程的控制。简单来说就是通过字符串来直接调用函数。经过查阅后,发现了四种比较可行的方法。二、方法介绍1.evalpython内置的eval函数不仅可将符合字典、列表、元祖格式的字符串转换成字典、列表和元祖 (在实际开发的时候尽量使用json.loads来转化,详情可查看我之前分享的博文:python处理json字符串,建议使用json.loads而不是eval())还可以直接将字符串形式的代码直接转化成原创 2021-08-20 12:29:20 · 9639 阅读 · 53 评论 -
从不建议为了就业而花大量时间学python
一、前言最近有不少初学python的朋友问我python要学到什么程度才能去找工作呢?也有一些在校生问,作为大专生,他们的学校是把 Python 做为主语言进行教学,但通过他自己的了解,发现Python虽然应用广泛,但对学历要求貌似比较高,类似人工智能、数据挖掘分析等。虽然有一些爬虫、后台开发的工作,但市场需求量级跟Java相比,所以他觉得去学习Java,但疑惑到底要不要全心的去学 Java,学校里的课程也越来越繁重,而学 Java 又会要投入很多精力!也不知道如何做选择!Python的 应用场景和市原创 2021-08-16 10:40:54 · 12083 阅读 · 85 评论 -
代码报错还好说,源码报错才难搞!分享自己源码报错的解决过程!
一、前言最近本来都是开开心心的打开电脑写一些祖传BUG但一个报错阻碍了我写BUG的进度!改了一些django的配置信息后,启动项目准备调试启动很成功没有任何报错。然后启动前端项目开始一天的写BUG时间!结果登录的时候就报错了!有点奇怪,但都是小场面!结果一看错误日志,有点慌了!是restframework内部(第三方包)报出的错误!如果是自己的代码报错,还可以根据哪行报错和错误信息去排查原因(一般自己代码报错都是秒改)稍微有点慌!首先看报错日志,发现是第三包内部错误,错误信息原创 2021-08-12 16:23:46 · 5719 阅读 · 38 评论 -
那些让你惊掉下巴到肚皮上的python冷知识(一)
一、我不是我现在,我们在交互模式下分别定义两个变量:a,b,他们都等于200:然后判断a是否等于b,并打印出来:很显然a是等于b的,所以返回的结果为true是不是觉得我在说废话!!!下面就是见证奇迹的时候了:我们再分别定义a和b,他们的值都等于257:这个时候再判断是否相等:竟然不相等了!!!这到底是为什么呢???现在为你解答:这其实是python的整数缓冲区导致的结果。python在交互模式下,会对比较小的整数对象进行缓存([-5,256])当我们定义的整数不在这个范原创 2021-08-06 11:21:00 · 6046 阅读 · 43 评论 -
python-20行代码将图片转素描画(附源码和成品下载地址)
一、前言七夕节快要到了,准备好给你的对象一个惊喜了吗?没有对象?哪让我来助你一臂之力,赶紧和喜欢的她表白吧!!!二、效果原创 2021-08-05 10:44:20 · 8100 阅读 · 37 评论 -
python小爬虫-28行代码实现图形化在线翻译(附源码和成品下载地址)
一、实现效果1.中文转英文2.英文转中文二、实现思路通过分析有道翻译的前后端交互和接口传参来实现翻译效果,具体过程不再赘述。三、环境要求1.python3+四、源码分享 from urllib import request, parseimport jsonimport tkinter as tkdef youdao(value, result): request_url = 'http://fanyi.youdao.com/translate?smartresult=原创 2021-08-02 11:03:36 · 3121 阅读 · 16 评论 -
python-85行代码完成贪吃蛇和关卡升级:是男人就坚持到第10关!
使用python,85行代码实现贪吃蛇和关卡升级你觉得你能坚持到第10关吗?一、实现效果二、环境要求1.python 3+2.pygame包 安装命令:打开cmd 输入: pip install pygame三、源码分享import pygameimport sysimport randomSCREEN = {'x': 600, 'y': 600} # 全局定义屏幕尺寸class Snake(object): # 蛇类 def __init__(self): # 初始化原创 2021-07-29 13:17:09 · 7232 阅读 · 32 评论 -
python和Go性能相差200倍?实在忍不住吐槽某乎的一些大佬,没去仔细分析过什么文章都好意思发!
最近在知乎上看到一篇文章,通过计算累加来测试python和go的性能:然后得出了如下结论:实在忍不住吐槽了!!!!解释性语言和编译性语言对于上述代码的处理完全就是两种方式。GO是编译性语言,编译器碰到类似上述已知数据、已知循环次数的时候,就会优化成计算公式进行计算了,根本就不会走迭代循环的过程!!!而python是解释性语言,上述代码是个迭代器,会一次一次的累加进行循环执行!,差个200倍很正常!这也是为什么使用python进行大数据或者科学计算的时候要使用numpy库,因为numpy的底层执原创 2021-07-13 11:27:59 · 5899 阅读 · 2 评论 -
python不可变类型和可变类型(为什么我的列表/字典,没有改变它却自己变了?)
大家在刚接触或平时使用python的时候,可能都会出现类似如下的情况:b_list = a_list = [1, 2]print('改变b_list前,a_list的值:',a_list)b_list[0] = 2print('改变b_list后,a_list的值:',a_list)print('b_list:', b_list)--------输出结果------------- 改变b_list前,a_list的值: [1, 2] 改变b_list后,a_list的值: [2, 2] #原创 2021-07-06 16:51:03 · 4345 阅读 · 1 评论