python
文章平均质量分 99
皇家茶壶
越学习,越谦虚
写博客力求不敷衍,即使是烂大街的东西,只要自己看过、做过,也会有一番独一无二的经验和理解
展开
-
python魔术修炼手册
文章目录前言来自语言的魔术python实例构建与初始化__new__ :构建类实例时首先执行__init__ :通过它对类实例进行初始化属性操作__getattr__ :当访问一个实例中不存在的属性时会调用它__setattr__ :给对象属性赋值无限递归赋值__del__:当对象被执行垃圾回收时调用它比较你的对象__eq__:当对象进行 == 比较时会调用它__ne__:当对象进行 != 比较时会调用它__lt__:当对象进行 < 比较时会调用它__gt__ :当对象进行 > 比较时会调用原创 2020-09-20 18:01:41 · 614 阅读 · 0 评论 -
来自Pycharm的善意提醒,那些值得你注意的小细节(持续更新)
文章目录前言python 编码规范命名类Class names should use CamelCase conventionVariable in function should be lowercaseShadows name 'use_a' from outer scope排版类PEP 8: W292 no newline at end of filePEP 8: E303 too many blank lines (2)PEP 8: E501 line too long (166 > 150原创 2020-09-05 21:08:08 · 16538 阅读 · 5 评论 -
当pandas用的像sql一样,是否还有必要继续坚持?
文章目录前言什么是pandas像使用sql一样使用pandas常用命令对照新增数据插入查询数据IN...NOT IN排序GROUP BY, COUNT, (分组下的)ORDER BY修改数据删除数据前言本篇立眼于公司项目中数据分析与报表生成的技术方案,主要是针对pandas数据处理方面与SQL的异同发表一些心得见解。目前项目中使用的BI报表功能,其底层数据支撑来自于经过pandas处理生成的H5文件。报表展示的是聚合之后的数据,这就涉及到对数据的筛选,分类以及聚合。什么是pandas网上针对pan原创 2020-09-04 02:05:52 · 1243 阅读 · 0 评论 -
如何编写脚本对项目代码进行分析(测试篇)
本篇将从一个测试的角度,对于在开发过程中,如何对代码进行完善的测试(包括功能以及性能的测试)。(内容属于杂谈,可能不够严谨,但希望能帮到看到这篇文章的各位)前言我想没有人会质疑测试的重要性,我们自己编写的代码,可能需要经过很多次的测试才能上线使用。有些bug可能是微不足道的,但是有些bug则可能是致命的。要想尽早的消灭这些bug,那么测试就成了非常重要的一环。对于测试,有着非常多的资料原创 2019-10-25 11:50:33 · 9085 阅读 · 0 评论 -
如何编写脚本对项目代码进行分析(性能篇)
在开始之前,先看看这样一句话: 我们应该忽略一些微小的效率提升,几乎在 97% 的情况下,都是如此:过早的优化是万恶之源。—— Donald Knuth大部分时间,我们对性能的要求也许并没有想象中那么苛刻,这种想法是正确的。毕竟能够让程序正确的运行起来,就是最好的优化了。原创 2017-07-31 16:37:32 · 1399 阅读 · 0 评论 -
(python)实现一个简单的图片文字识别脚本
快毕业了,除了准备答辩之外,就是看看书,各种瞎晃~ 那么,这两天在看书的时候遇到这么个问题: 首先,部分电子版的书籍是以扫描图片的形式展现的,在阅读过程中无法选取文字。对于平时有记录习惯的我来说,无法复制黏贴真的很不爽! 为了解决这个问题,我需要这样一个脚本,他有下面这些功能:1、能够实现自由截图 2、能够识别含有文字的截图 3、将识别出的文字输出到剪切板大致上需要的东...原创 2018-04-04 10:43:32 · 14526 阅读 · 2 评论 -
Ubuntu下的Nginx + Uwsgi + Django项目部署详细流程
前言这篇博客主要介绍标题中写明的项目部署流程,以及解决部署过程中可能遇到的一些问题,在开始之前,墙裂推荐这篇文档: Setting up Django and your web server with uWSGI and nginx 看完这篇文档,你可能已经能够解决90%(甚至100%)的问题了,剩下10%的问题(我所遇到的)将穿插在我部署的过程中进行解决。(第一次部署的过程十分粗糙,...原创 2018-09-12 18:37:16 · 9456 阅读 · 2 评论 -
关于Python异步编程的一些心得(二)
引言话说上一篇,我们聊了一些使用多进程,多线程,I/O多路复用的编程技巧来提升socket应用的性能。本篇,我们介绍异步编程界的另一个主角——协程。为什么要使用协程执行效率极高相较于多线程机制,协程的调度是由程序自身控制的,因此没有象多线程一样切换的开销。多线程场景下,线程的数量越多,协程的性能优势越明显。无锁由于协程的运行都是在一个线程中,所以不存在多线程的线程安全问题,也就是说,不...原创 2019-08-18 22:20:21 · 521 阅读 · 0 评论 -
关于Python异步编程的一些心得(一)
引言由于在Django项目中使用了基于协程的websocket框架,故而打算对异步的工作原理进行一波深入的了解。热身回顾一下与异步编程相关的一些概念阻塞程序未得到所需计算资源时被挂起的状态。程序在等待某个操作完成期间,自身无法继续干别的事情,则称该程序在该操作上是阻塞的。常见的阻塞形式有:网络I/O阻塞、磁盘I/O阻塞、CPU上下文切换、用户输入阻塞等。非阻塞程序在等待某操...原创 2019-08-15 16:24:49 · 976 阅读 · 0 评论