Python

Python 之父撰文回忆:为什么要创造 pgen 解析器?

image花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现

系统 2019-09-27 17:54:18 2097

Python

Python 项目生成requirements.txt

项目上线部署的时候需要服务端的同学帮忙打Docker,但是自己也需要提前写好requirements.txt。这里记录一下两种生成requirements.txt的方法。方法一:在项目根目录下,在命令行中输入:pipfreeze>requirements.txt这种方法会将当前环境下的所有的信息都存入requirements.txt中。方法二:首先安装pipreqs库。进入需要生成文件的目录执行:pipreqs./如果出现报错:UnicodeDecodeE

系统 2019-09-27 17:54:12 2097

Python

Python之路【第十七篇】:Python并发编程|协程

一、协程协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗)优点2:不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好,所以执行效率比多线程高很多。(没有锁的概念)因为协程是一个线程执行,那怎么利用

系统 2019-09-27 17:54:05 2097

Python

Python 库体系整理

爱漂泊人生Python常用库大全,看看有没有你需要的作者:史豹链接:https://www.zhihu.com/question/20501628/answer/223340838来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。环境管理管理Python版本和环境的工具p–非常简单的交互式python版本管理工具。pyenv–简单的Python版本管理工具。Vex–可以在虚拟环境中执行命令。virtualenv–创建独立Pyth

系统 2019-09-27 17:53:52 2097

Python

python使用opencv按一定间隔截取视频帧

关于opencvOpenCV是Intel开源计算机视觉库(ComputerVersion)。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库――尽管也可以使用某些外部库。OpenCV对非商业应用和商业应用都是免费的。同时OpenCV提供了对硬件的访问,可以直接访问摄像头,并且opencv还提供了一个简单的GUI(graphicsuserin

系统 2019-09-27 17:51:59 2097

Python

windows下安装Python虚拟环境

1、安装执行命令pipinstallvirtualenv为了使用virtualenv更方便,可以借助virtualenvwrapper执行命令pipinstallvirtualenvwrapper-win安装完毕以后可以通过命令来创建virtualenvwrapper2、基本使用2.1创建virtualenvwrappermkvirtualenvmy_env那么会在你当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下,如果电脑中安装了Py

系统 2019-09-27 17:51:03 2097

Python

Python Django基础二之URL路由系统

MVC和MTV框架MVCWeb服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:|M:models数据库相关;V:views视图相关C:controller控制器url分发|MTVDjango的MTV模式本质上和MV

系统 2019-09-27 17:49:39 2097

Python

python基础学习笔记(十二)

python基础学习笔记(十二)2013-05-1621:47虫师阅读(...)评论(...)编辑收藏模块前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用:>>>importmath>>>math.sin(0)#sin为正弦函数0.0模块是程序任何python程序都可以作为模块导入。假设写如下程序,并且将它保存为以C:\python\hello.py#hello.pyprint"hello,world!"下面通过python解释器调

系统 2019-09-27 17:48:50 2097

Python

python利用eval方法提升dataframe运算性能

eval方法可以直接利用c语言的速度,而不用分配中间数组,不需要中间内存的占用.如果包含多个步骤,每个步骤都要分配一块内存importnumpyasnpimportpandasaspdimporttimeitdf=pd.DataFrame({'a':np.random.randn(10000000),'b':np.random.randn(10000000),'c':np.random.randn(10000000),'x':'x'})#printdfst

系统 2019-09-27 17:47:34 2097

Python

python threading模块操作多线程介绍

python是支持多线程的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。thread是比较底层的模块,threading是对thread做了一些包装的,可以更加方便的被使用。这里需要提一下的是python对线程的支持还不够完善,不能利用多CPU,但是下个版本的python中已经考虑改进这点,让我们拭目以待吧。threading模块里面主要是对一些线程的操作对象化了,创建了叫Thread的class。一般来说,使用

系统 2019-09-27 17:38:43 2097

Python

Python注释详解

注释用于说明代码实现的功能、采用的算法、代码的编写者以及创建和修改的时间等信息。注释是代码的一部分,注释起到了对代码补充说明的作用。Python注释Python单行注释以#开头,单行注释可以作为单独的一行放在被注释的代码行之上,也可以放在语句或者表达式之后。#Giveyouachancetoletyouknowmeprint("Giveyouachancetoletyouknowme")say_what="thisisademo"#attheendofal

系统 2019-09-27 17:38:34 2097

编程技术

AOP 的利器:ASM 3.0 介绍(3)

Java类文件概述所谓Java类文件,就是通常用javac编译器产生的.class文件。这些文件具有严格定义的格式。为了更好的理解ASM,首先对Java类文件格式作一点简单的介绍。Java源文件经过javac编译器编译之后,将会生成对应的二进制文件(如下图所示)。每个合法的Java类文件都具备精确的定义,而正是这种精确的定义,才使得Java虚拟机得以正确读取和解释所有的Java类文件。图2.ASM–Javac流程Java类文件是8位字节的二进制流。数据项按

系统 2019-08-29 23:29:58 2097

编程技术

2007东软科技节的软件设计大赛项目,设计中...

事情是这样的,上个周日一个学弟找到我说想跟我组队参加东软科技节的软件设计大赛。我跟他谈了,看了看他的idea,叫“全右脑英语学习软件”,按照我的理解,就是一个帮助背英语单词的软件。项目不算大,技术上要求也不高,要想拿奖的话只能靠出色的功能设计了。说实话,我心软,对于一个小学弟的请求我不好拒绝。反正也没什么,那就去吧。OK,这周就忙在功能研究和结构设计上了。总结一下想法:数据结构(主要是词库)采用XML文件描述和存放;仿照MVC架构,DAO模式,基本上模拟数

系统 2019-08-29 23:26:44 2097