yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`
系统 2019-09-27 17:52:18 1810
本文实例讲述了python日志logging模块使用方法。分享给大家供大家参考,具体如下:一、从一个使用场景开始开发一个日志系统,既要把日志输出到控制台,还要写入日志文件importlogging#创建一个loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#创建一个handler,用于写入日志文件fh=logging.FileHandler('test.log')
系统 2019-09-27 17:51:47 1810
主机环境:(Python2.7.9/Win8_64/bs4)利用BeautifulSoup4来抓取www.pm25.com上的PM2.5数据,之所以抓取这个网站,是因为上面有城市PM2.5浓度排名(其实真正的原因是,它是百度搜PM2.5出来的第一个网站!)程序里只对比了两个城市,所以多线程的速度提升并不是很明显,大家可以弄10个城市并开10个线程试试。最后吐槽一下:上海的空气质量怎么这么差!!!PM25.py复制代码代码如下:#!/usr/bin/envp
系统 2019-09-27 17:51:23 1810
算数运算符:+#加:两个对象相加-#减:得到负数或是一个数减去另一个数*#乘:两个数相乘或是返回一个被重复若干次的字符串/#除:x/y,x除以y%#取模:返回除法的余数**#幂:x**y,返回x的y次幂//#取整除:返回商的整数部分(向下取整)比较运算符:==#判断两个对象是否相等!=#判断两个对象是否不相等<>#判断两个对象是否不相等,py2可用,py3不可用<#判断是否小于<=#判断是否小于等于>#判断是否大于>=#判断是否大于等于逻辑运算符:与and
系统 2019-09-27 17:51:05 1810
本文主要是记录ubuntu16.04下python环境配置,具体内容如下对于ubuntu16.04,由于本身是自带python,这样就减少了在windows下的下载和环境变量配置,非常不错。但是他本身是自带两个版本的python,2.X和3.X,两个版本,两个版本默认的是使用2.X,毕竟3.X是一个趋势,今后我这边应该也会主要使用3.X版本,所以这里记录一下如果在版本间切换以及如何把python版本切换到3.X下的方法。一、确认本机下的python默认版本
系统 2019-09-27 17:51:01 1810
PIL提供了通用的图像处理功能,以及大量的基本图像操作,如图像缩放、裁剪、旋转、颜色转换等。Matplotlib提供了强大的绘图功能,其下的pylab/pyplot接口包含很多方便用户创建图像的函数。为了观察和进一步处理图像数据,首先需要加载图像文件,并且为了查看图像数据,我们需要将其绘制出来。fromPILimportImageimportmatplotlib.pyplotaspltimportnumpyasnp#加载图像img=Image.open("
系统 2019-09-27 17:50:40 1810
转:https://www.jianshu.com/p/4be85de84d2a本机环境:Windows1064位Anacondapython3.7报错信息:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.解决方法:原因:Anaconda环境变量未配置完全需要配置的环境变量:D:\ProgramData\Anaconda3D:\
系统 2019-09-27 17:50:37 1810
首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节下面就直接介绍几种python中字符串常用的几种字符串内置函数(本文中牵扯到了模块与一些之前章节没讲过的相关知识,坑我之后会填的)字符串切片(截取字符串):#字符串切片string[开始位置:结束位置:步长]name="巩�t鹏"print(name[0:])#从第一个字符截取到最后一个字符print(name[0:2])#从第一个字符截取到第二个字
系统 2019-09-27 17:49:35 1810
经历移植jinja2到python3的痛苦之后,我把项目暂时放一放,因为我怕打破python3的兼容。我的做法是只用一个python2的代码库,然后在安装的时候用2to3工具翻译成python3。不幸的是哪怕一点点的改动都会打破迭代开发。如果你选对了python的版本,你可以专心做事,幸运的避免了这个问题。来自MoinMoin项目的ThomasWaldmann通过我的python-modernize跑jinja2,并且统一了代码库,能同时跑python2,
系统 2019-09-27 17:49:06 1810
在Python3.x的世界里,cmp函数没有了。那么sorted,min,max等需要比较函数作为参数的函数该如何用呢?以min函数的定义为例,有两种重载形式:单参数(一个迭代器):复制代码代码如下:min(iterable[,key=func])->value多参数(多个待比较内容):复制代码代码如下:min(a,b,c,...[,key=func])->value本文主要讨论key=func参数的使用。举例说明吧:1.自定义对象的比较我定义了一个类te
系统 2019-09-27 17:48:44 1810
一、pythongui(图形化)模块介绍:Tkinter:是python最简单的图形化模块,总共只有14种组建Pyqt:是python最复杂也是使用最广泛的图形化Wx:是python当中居中的一个图形化,学习结构很清晰Pywin:是pythonwindows下的模块,摄像头控制(opencv),常用于外挂制作二、wx模块的安装:C:\Users\Administrator>pipinstallwxpython三、图形化介绍……四、wx主要组件介绍1、fra
系统 2019-09-27 17:48:42 1810
问题提出:有时候我们采集网页,处理完毕后将字符串保存到文件或者写入数据库,这时候需要制定字符串的编码,如果采集网页的编码是gb2312,而我们的数据库是utf-8的,这样不做任何处理直接插入数据库可能会乱码(没测试过,不知道数据库会不会自动转码),我们需要手动将gb2312转换成utf-8。首先我们知道,python里的字符默认是ascii码,英文当然没问题啦,碰到中文的时候立马给跪。不知道你还记不记得,python里打印中文汉字的时候需要在字符串前面加u
系统 2019-09-27 17:48:17 1810
conda测试指南在开始这个conda测试之前,你应该已经下载并安装好了Anaconda或者Miniconda注意:在安装之后,你应该关闭并重新打开windows命令行。一、Conda测试过程:使用conda。首先我们将要确认你已经安装好了conda配置环境。下一步我们将通过创建几个环境来展示conda的环境管理功能。使你更加轻松的了解关于环境的一切。我们将学习如何确认你在哪个环境中,以及如何做复制一个环境作为备份。测试python。然后我们将检查哪一个版
系统 2019-09-27 17:48:14 1810
本文实例讲述了Python操作Mongodb数据库的方法。分享给大家供大家参考,具体如下:一导入pymongofrompymongoimportMongoClient二连接服务器端口号27017连接MongoDB连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。conn=MongoClient("local
系统 2019-09-27 17:47:42 1810
Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并.是Python列表方法的三架马车。1.filter函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。>>>N=range(10)>>>printfilter(lambdax:x>5,N)[
系统 2019-09-27 17:47:27 1810