协程定义:协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。协程的标准定义:必须在只有一个单线程里实现并发修改共享数据不需加锁用户程序里自己保存多个控制流的上下文栈一个协程遇到IO操作自动切换到其它协程特点:协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此,协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每
系统 2019-09-27 17:49:15 2114
Vim插件是一个.vim的脚本文件,定义了函数、映射、语法规则和命令,可用于操作窗口、缓冲以及行。一般一个插件包含了命令定义和事件钩子。当使用Python编写vim插件时,函数外面是使用VimL编写,尽管VimL学起来很快,但Python更加灵活,例如可以用urllib/httplib/simplejson来访问某些Web服务,这也是为什么很多需要访问Web服务的插件都是使用VimL+Python编写的原因。在开始编写插件之前,你需要确认Vim支持Pyth
系统 2019-09-27 17:49:07 2114
我相信一定有很多的人跟我一样,经常忘记Python安装的路径,每当用到的时候,最笨的办法就是在全局电脑里,直接查找Python,这样是肯定能查到的,但是如果你的电脑文件超级多,这将是一个工厂量很大的事情,你要等好久的。便捷的方法时:打开我们的cmd命令输入Python输入importsys输入print(sys.path)列表中的第四个将是你的安装路径python是解释型脚本语言,在执行时,逐句解释执行,不需要进行预编译。但需要有自身的Python解释器。
系统 2019-09-27 17:48:53 2114
Recursivearticles(递归篇)Feibosequencedeffib(number):ifnumber==0ornumber==1:returnnumberelse:returnfib(number-1)+fib(number-2)foriinrange(8):print("fib(%2d)=%2d"%(i,fib(i)))Wecancontrolthetimeofthefunction.deffib(number):ifnumber==0o
系统 2019-09-27 17:48:41 2114
异常:当Python检测到⼀个错误时,解释器就⽆法继续执⾏了,会出现⼀些错误的提示,这就是所谓的"异常"。看如下示例:print('-----test--1---')open('123.txt','r')print('-----test--2---')打开⼀个不存在的⽂件123.txt,当找不到123.txt⽂件时,就会抛出给我们⼀个IOError类型的错误,Nosuchfileordirectory:123.txt(没有123.txt这样的⽂件或⽬录)异
系统 2019-09-27 17:48:33 2114
pythonmap(fun,[arg]+)函数最少有两个参数,第一参数为一个函数名,第二个参数是对应的这个函数的参数(一般为一个或多个list)。enumerate()函数语法以下是enumerate()方法的语法:enumerate(sequence,[start=0])参数sequence–一个序列、迭代器或其他支持迭代对象。start–下标起始位置seq=['one','two','three']fori,elementinenumerate(seq
系统 2019-09-27 17:48:23 2114
我每个月都要读一本书写一个书评,平时写书评用的插图都是在网上找的图,前段时间觉得这样不够炫酷要做一点炫酷的东西。最开始的想法是提取小说中的高频词做成词云,实践下来发现效果并不理想,主要是有吸引力的词汇太少并不能突出这本书的特点;于是想到用爬虫爬取评论来提取关键词,试验下来发现效果不错。有了思路接下来要看怎么实现了,由于我本人是写java语言的,而java语言上并没有很好词云工具,于是自然想到了python。python我并不是很熟悉,完成这个小程序也遇到了
系统 2019-09-27 17:47:48 2114
引言作为一个python小白,之前学的是java,不过听说python很流行,功能很强大,可以用很少的代码实现更强的功能,因此我也是被吸引了过来,并且把我的学习经历记录下来。当然了,要学习python,首先要先把他下载下来,安装一下,因为python2和python3在语法上有很大的不同,所以学的时候要注意版本,我们这里用的是python3。python3.7下载链接:https://u20538204.ctfile.com/fs/20538204-383
系统 2019-09-27 17:46:59 2114
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d={key1:value1,key2:value2}键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。一个简单的实例:dict={'WJ':'female','CT':'male'}这里主要说明一键一值和一键
系统 2019-09-27 17:46:12 2114
在python中安装非自带python模块,有三种方式:1.easy_install2.pip3.下载压缩包(.zip,.tar,.tar.gz)后解压,进入解压缩的目录后执行pythonsetup.pyinstall命令本文主要针对pip安装时可能会碰到的一种情况,及解决办法:假如我要安装pylint模块,该模块非python自带模块,用import肯定不能导入,需要额外安装复制代码代码如下:>>>importpylintTraceback(mostre
系统 2019-09-27 17:46:05 2114
目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(
系统 2019-09-27 17:46:02 2114
0x00is与====运算符是比较两个对象的内容是否相等,默认情况是调用对象的__eq__方法进行比较;而is是比较两个对象是否一样,它比较的两个对象的id,即它们的内存地址是否相同。>>>a=[1,2,3]>>>b=[1,2,3]>>>a==bTrue#a和b是否是同一个对象>>>aisbFalse#a和b的地址其实是不一样的>>>id(a)4498717128>>>id(b)4446861832在比较时但也有例外。Python对一些常用的值进行缓存优化
系统 2019-09-27 17:38:03 2114
类和对象类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:定义在方法中的变
系统 2019-09-27 17:57:15 2113
使用pygame模块首先安装pipinstallpygame方法实现**defplay_music(self):filepath=r"E:\music\消愁.mp3";pygame.mixer.init()#加载音乐pygame.mixer.music.load(filepath)pygame.mixer.music.play(start=0.0)#播放时长,没有此设置,音乐不会播放,会一次性加载完time.sleep(300)pygame.mixer.m
系统 2019-09-27 17:56:05 2113
前言随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界。首先看一下本实验需要的数据集,为了简便我们只进行两个人的识别,选取了beyond乐队的主唱黄家驹和贝斯手黄家强,这哥俩长得有几分神似,这也是对人脸识别的一个考验:两个文件夹,一个为训练数据集,一个为测试数据集,训练数据集中有两个文件夹0和1,之前看一些资料有说这里要遵循“slabel”命名规则,
系统 2019-09-27 17:55:02 2113