花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更好
系统 2019-09-27 17:55:03 2334
前面说了descriptor,这个东西其实和Java的setter,getter有点像。但这个descriptor和上文中我们开始提到的函数方法这些东西有什么关系呢?所有的函数都可以是descriptor,因为它有__get__方法。复制代码代码如下:>>>defhello():pass>>>dir(hello)['__call__','__class__','__delattr__','__dict__','__doc__','__get__','__g
系统 2019-09-27 17:52:34 2334
进程、线程和协程进程的定义:进程,是计算机中已运行程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序的真正运行实例。线程的定义:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。进程和线程的关系:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。CPU的最小调度单元是线程不是进程,所以单进程多线程也可以利用多核CPU.协程的定义:协程通过在线程中实现调度,避免了陷
系统 2019-09-27 17:52:14 2334
图像的阈值处理一般使得图像的像素值更单一、图像更简单。阈值可以分为全局性质的阈值,也可以分为局部性质的阈值,可以是单阈值的也可以是多阈值的。当然阈值越多是越复杂的。下面将介绍opencv下的三种阈值方法。(一)简单阈值简单阈值当然是最简单,选取一个全局阈值,然后就把整幅图像分成了非黑即白的二值图像了。函数为cv2.threshold()这个函数有四个参数,第一个原图像,第二个进行分类的阈值,第三个是高于(低于)阈值时赋予的新值,第四个是一个方法选择参数,常
系统 2019-09-27 17:51:13 2334
本书特色用传统的电子表格来处理数据不仅效率低下,而且无法处理某些格式的数据,对于混乱或庞大的数据集更是束手无策。本书将教你如何利用语法简单、容易上手的Python轻松处理数据。作者通过循序渐进的练习,详细介绍如何有效地获取、清洗、分析与呈现数据,如何将数据处理过程自动化,如何安排文件编辑与清洗任务,如何处理更大的数据集,以及如何利用获取的数据来创作引人入胜的故事。学完本书,你的数据处理和分析能力将更上一层楼。快速了解Python基本语法、数据类型和语言概念
系统 2019-09-27 17:49:12 2334
在处理faster-rcnn和yolo时笔者使用labelimg标注图片但是我们只截取了大概800张左右的图,这个量级在训练时肯定是不够的,所以我们需要使用数据增强(无非是旋转加噪调量度)来增加我们的训练样本这里附上视频按帧率截取图片的脚本代码https://www.cnblogs.com/bob-jianfeng/p/11140444.html网上找到一个非常好的开源代码用来数据增强,这里记录一下,以备以后使用https://github.com/xin
系统 2019-09-27 17:47:26 2334
join()方法方法返回一个在序列的字符串元素被加入了由str分隔的字符串。语法以下是join()方法的语法:str.join(sequence)参数sequence--这是要连接的元素的顺序。返回值此方法返回一个字符串,在序列seq字符串的连接。元素之间的分离器是字符串str。例子下面的示例演示了join()方法的使用。#!/usr/bin/pythonstr="-";seq=("a","b","c");#Thisissequenceofstrings.
系统 2019-09-27 17:47:13 2334
有时你需临时搭建一个简单的WebServer,但你又不想去安装Apache、Nginx等这类功能较复杂的HTTP服务程序时。这时可以使用Python内建的SimpleHTTPServer模块快速搭建一个简单的HTTP服务器。SimpleHTTPServer模块可以把你指定目录中的文件和文件夹以一个简单的Web页面的方式展示出来。假设我们需要以Web方式共享目录/Users/Mike/Docker,只需要以下这个命令行就可以轻松实现:$cd/Users/M
系统 2019-09-27 17:47:02 2334
BeautifulSoup库解析器解析器使用方法条件bs4的HTML解析器BeautifulSoup(mk,'html.parser')安装bs4库lxml的HTML解析器BeautifulSoup(mk,'xml')pipinstalllxmllxml的XML解析器BeautifulSoup(mk,'xml')pipinstalllxmlhtml5lib的解析器BeautifulSoup(mk,'htm5lib')pipinstallhtm151ibBe
系统 2019-09-27 17:46:54 2334
一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name
系统 2019-09-27 17:46:39 2334