一、协程协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗)优点2:不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好,所以执行效率比多线程高很多。(没有锁的概念)因为协程是一个线程执行,那怎么利用
系统 2019-09-27 17:54:05 2238
目前我们已经会使用Lock去对公共资源进行互斥访问了,也探讨了同一线程可以使用RLock去重入锁,但是尽管如此我们只不过才处理了一些程序中简单的同步现象,我们甚至还不能很合理的去解决使用Lock锁带来的死锁问题。所以我们得学会使用更深层的解决同步问题。Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。使用
系统 2019-09-27 17:50:56 2238
print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法。打开电脑,选择python软件,下面选择python3.7为例进行介绍,点击python3.7,就进入了python的命令行界面。python函数的格式是print(),然后再括号内输入想要在屏幕上面显示的内容,如果是数字等内容,可以直接输入print(a),如下图所示。如果想连续输入内容,那么不同的变量之间可以用英文逗号隔开。如下图所示。比如想连续
系统 2019-09-27 17:50:34 2238
我们经常使用的程序都会有与用户交互的程序,比如网页的登录,需要输入自己的账号,密码这类的用户交互功能。我们来写个简单的用户输入和输出的程序代码:user1=input("账号:")#申明变量user1储存获取用户输入的账号password1=input("密码:")#申明变量password1储存获取用户输入的账号print(user1,password1)#输出用户输入的账号密码这样就可以要求用户输入账号密码,然后输出获取的账号密码。我们再举个例子:题目
系统 2019-09-27 17:50:33 2238
互联网寒冬2017年冬天,是我人生中最难熬的一个冬天,其实2017年的冬天并不算太冷,比这冬日的寒风还要严寒的要属这所谓的”互联网寒冬”吧!各大厂裁员的消息充斥着互联网,互联网表面风光实则早己经千仓百孔。其实不仅仅是互联网,每个行业都一样。包括18、19这两年都还处在寒冬期。那为什么互联网界的人对着会这么敏感呢?尤其是程序员!因为IT的知识体系太过庞大,知识更新速度太快太快了。程序员永远在追着热点跑,今天学Java,明天学Python,后天学Golang,
系统 2019-09-27 17:50:24 2238
python动态进度条的实现代码,具体内容如下所示:有时候我们需要使用print打印工作进度,正常使用print函数会导致刷屏的现象,举个最简单的例子,从1打印到10,每次停顿0.1秒这样看起来很麻烦,有没有办法实现动态的进度显示呢?我们可以使用'\r',这个命令可以使光标重新返回头部,之后设置end='',取消python的打印自动换行的功能importtimeforiinrange(10):print('\r比例',i/10,end='')time.s
系统 2019-09-27 17:50:08 2238
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 2238
官方文档:https://elasticsearch-py.readthedocs.io/en/master/1、介绍python提供了操作ElasticSearch接口,因此要用python来操作ElasticSearch,首先要安装python的ElasticSearch包,用命令pipinstallelasticsearch安装或下载安装:https://pypi.python.org/pypi/elasticsearch/5.4.02、创建索引假如
系统 2019-09-27 17:47:25 2238
一、datetime包(上接连载7内容)1.函数:datetime(1)用法:输入一个日期,来返回一个datetime类(2)格式:datetime.datetime(年,月,日,hour=,minute=,second=)其中hour,minute,second可选(3)附加类方法:today():返回本地当前时间now():返回本地当前时间utcnow():返回本地当前时间fromtimestamp(时间戳):返回时间戳的本地时间dt=datetim
系统 2019-09-27 17:45:55 2238
一直用的是python2,从python2.3到python2.7.6,出于想了解python3的新特性,又安装了python3.3.3.用了才发现蛮方便的。python的各个版本是独立共存的,不相互冲突的。下面说下如何操作:1.独自安装好python2.7.6和python3.3.32.修改注册表:打开->regeditHKEY_CLASSES_ROOT\Python.File\shell\open\command的默认值修改为"C:\Python27\
系统 2019-09-27 17:37:47 2238