Python

为什么你还不懂得怎么使用Python协程

前言从语法上来看,协程和生成器类似,都是定义体中包含yield关键字的函数。yield在协程中的用法:在协程中yield通常出现在表达式的右边,例如:datum=yield,可以产出值,也可以不产出--如果yield关键字后面没有表达式,那么生成器产出None.协程可能从调用方接受数据,调用方是通过send(datum)的方式把数据提供给协程使用,而不是next(...)函数,通常调用方会把值推送给协程。协程可以把控制器让给中心调度程序,从而激活其他的协程

系统 2019-09-27 17:56:55 2160

Python

简单了解python协程的相关知识

什么是协程协程是python种一种实现多任务的方式,他是一种比线程更加小的单元,占用更小的执行单元(资源),为啥说他是一个执行单元,因为他自带CPU上下文,这样在合适gr的时机,可以把一个协程切换到另一个协程,只要在这个过程中保存和恢复cpu上下文那么程序还是可以运行的通俗的理解:一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量,然后切换到另一个函数中运行,并且切换的次数以及社么时候再切换回来是可控的协程和线程的差异在实现多任务时,线程会自己

系统 2019-09-27 17:55:38 2160

Python

python3文件复制、延迟文件复制任务的实现方法

使用python版本3.6.1工作中测试客户端传输报文速率,写了以下两个脚本。第一个,简单的复制文件并重命名。第二个,在循环中增加延时的功能。使用场景将文件复制并重命名(重命名方式在文件末尾加生成的随机数)#!/usr/bin/python3#coding=GB2312importosimportos.pathimportrandomimportshutilcount=0#源文件夹src="E:\\file\\CEB411Message__20171115

系统 2019-09-27 17:54:36 2160

Python

python中enumerate() 与zip()函数的使用比较实例分析

本文实例讲述了python中enumerate()与zip()函数的使用比较。分享给大家供大家参考,具体如下:enumerate()与zip()是两个常用的内置函数,这两个函数功能类似,同时又存在差异。介绍如下:一、enumerate()函数该函数中文解释:枚举、列举的意思。用于将一个可遍历的数据对象(如:列表、元组、字符串等)组合为一个索引序列,同时列出:数据和数据下标一般在for循坏中使用,可同时得到数据对象的值及对应的索引值a=['one','two

系统 2019-09-27 17:53:53 2160

Python

简单了解python中的与或非运算

真的很重要,栽了个跟头!!!(虽然以前好像知道。。。)print(TrueorFalseandFalse)print((TrueorFalse)andFalse)#True#False这里有一个python运算符的优先级not>and>ornot>and>ornot>and>or有括号的除外运算返回的值是决定表达式运算结果的值。比如TrueorFalse、FalseorTrue返回True,TrueandFalse返回False。以上就是本文的全部内容,希

系统 2019-09-27 17:52:51 2160

Python

Python编写屏幕截图程序方法

正在编写的程序用的很多Windows下的操作,查了很多资料。看到剪切板的操作时,想起以前想要做的一个小程序,当时也没做,现在正好顺手写完。功能:按printscreen键进行截图的时候,数据保存在剪切板里面,很不方便。比如游戏的时候截一个瞬间的图片,但你不能退出游戏保存图片,不方便多次截图。而我也不喜欢安装各种软件,所以准备写这个工具。思路:一个是自定义快捷键,截图,保存。考虑到很可能各种冲突,取消。然后还是用按printscreen来截图,然后从剪切板读

系统 2019-09-27 17:52:09 2160

Python

python SSTI tornado render模板注入

原理tornadorender是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式。简单的理解例子如下:------------------------------------------------------------------------------------importtornado.ioloopimpo

系统 2019-09-27 17:51:43 2160

Python

A*算法与其python实现

A_star算法与Dijkstra算法Grassfire算法主要不一样的地方就在于加入了一个度量目前的节点与目标点之间的距离的启发函数:常用的启发函数有:算法介绍就不详细叙述了,本文主要是通过python实现A*算法在01地图中(0表示可通行区域,1表示障碍区域)的最优路径寻找,最终效果为:其中6是其进行行走的路径。下面在程序中,对算法中所设计到的需要进行抽象的对象及算法的逻辑流程进行了概述:#需要进行抽象化的有:节点(属性有:xy坐标父节点g及h)地图(

系统 2019-09-27 17:51:25 2160

Python

python中pygame安装过程(超级详细)

安装时是需要设置python环境变量的,下载python的时候底下有个小框框(没有默认选中)AddPython3.7toPATH需要选择的,如果没有选择的话,需要自己设置,我一般比较懒,卸载了python重新下载的,让下载器自动设置。然后是python版本问题有人疑问这是64位还是32位,看那个[64bit]是64位,至于后面的on32是在windows上使用的意思,在Linux上使用就显示别的了。然后检查pip的安装如果显示Nomodulenamed-p

系统 2019-09-27 17:51:12 2160

Python

Python基础(2)

五,Python基础(2)1.数据类型基础(一)什么是数据类型?用于区分变量值的不同类型。(二)为何对数据分类?针对不同状态就应该用不同类型的数据去标识。(三)数据类型分类1.数字类型1.1整型(int)1.11作用表示人的年龄、各种号码、级别1.12定义age=24#age=int(24)print(id(age))print(type(age))print(age)1982099648241.13如何用加减乘除、逻辑判断(大于、小于)print(a+b

系统 2019-09-27 17:50:57 2160

Python

常见加密方式和Python实现

原文链接:https://www.jianshu.com/p/4ba20afacce21.前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串和Bytes互相转换可以使用encode()和decode()方法。如下所示:#方法中不传参数则是以默认的utf-8编码进行转换In[1]:'南北'.encode()Ou

系统 2019-09-27 17:50:27 2160

Python

Python3网络爬虫中的requests高级用法详解

本节我们再来了解下Requests的一些高级用法,如文件上传,代理设置,Cookies设置等等。1.文件上传我们知道Reqeuests可以模拟提交一些数据,假如有的网站需要我们上传文件,我们同样可以利用它来上传,实现非常简单,实例如下:importrequestsfiles={'file':open('favicon.ico','rb')}r=requests.post('http://httpbin.org/post',files=files)print

系统 2019-09-27 17:48:46 2160

Python

老生常谈python的私有公有属性(必看篇)

python中,类内方法外的变量叫属性,类内方法内的变量叫字段。他们的私有公有访问方法类似。classC:__name="私有属性"deffunc(self):print(C.__name)classsub_C(C):definfo(self):print(C.__name)#派生类中不可以访问父类的私有字段obj=C()obj.func()obj=sub_C()obj.info()方法、属性的访问于上述方式相似,即:私有成员只能在类内部使用以上这篇老生常

系统 2019-09-27 17:48:28 2160

Python

讲解Python中运算符使用时的优先级

运算符优先级来确定条件的表达式中的分组。这会影响一个表达式如何计算。某些运算符的优先级高于其他;例如,乘法运算符的优先级比加法运算更高。例如x=7+3*2;这里,x被赋值13,而不是20,因为运算符*的优先级比+更高,所以它首先乘以3*2,然后加7。这里,具有最高优先级运算符出现在表格上方,那些最低的显示在底部。在一个表达式,更高的优先级运算符将首先计算。例如:试试下面的例子来理解Python编程语言可供选择的运算符优先级:#!/usr/bin/pytho

系统 2019-09-27 17:47:46 2160

Python

Python从list类型、range()序列简单认识类(class)【可迭代】

本文实例讲述了Python从list类型、range()序列简单认识类(class)。分享给大家供大家参考,具体如下:list类型定义:items=[]这就定义了一个名叫items的list。往里填充数据:items.append(1)items.append(3)items.append(4)print(items)#[1,3,4]range序列上面那个list,如果我们要append进去0~9的数字。最好是利用循环。items=[]forxinrang

系统 2019-09-27 17:46:52 2160