生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的
系统 2019-09-27 17:56:08 1977
一、装饰器decoratordecorator设计模式允许动态地对现有的对象或函数包装以至于修改现有的职责和行为,简单地讲用来动态地扩展现有的功能。其实也就是其他语言中的AOP的概念,将对象或函数的真正功能也其他辅助的功能的分离。二、Python中的decoratorpython中的decorator通常为输入一个函数,经过装饰后返回另一个函数。比较常用的功能一般使用decorator来实现,例如python自带的staticmethod和classmet
系统 2019-09-27 17:54:11 1977
一、python多线程因为CPython的实现使用了GlobalInterpereterLock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且python对象模型天然地线程安全。如果你想你的应用程序在多核的机器上使用更好的资源,建议使用multiprocessing或concurrent.futures.processpoolexecutor。但是如果你的程序是IO密集型,则使用线程仍然是很好的选择。二、p
系统 2019-09-27 17:54:03 1977
Python面向对象编程——什么是面向对象的程序设计一、面向过程的程序设计1、概念核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么......基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始是要着手解决一个大的问题,面向过程的基本设计思路就是把这个大的问题分解成很多个小问题或子过程,这些子过程在执行的过程中继续分解,直到小问题足够简单到可以在一小步骤范围内解决。2、优点复杂的问题流程化,进而简单化(一个复
系统 2019-09-27 17:53:59 1977
由于电脑上安装了多个版本的pip,以及不同的pip对应不同的python,因此有时候使用pipinstall安装某个包时,可能会没有安装在想要的位置。具体而言,在我电脑上,运行pip--version时,输出如下pip9.0.1from/opt/anaconda3/lib/python3.6/site-packages(python3.6)运行sudopip--version时,输出如下pip18.0from/usr/local/lib/python3.5
系统 2019-09-27 17:53:40 1977
每次版本结束都描述这着同样的错误,相似的问题,但始终没见解决。所以今天,我就来总结下Python的错误与异常!异常与错误错误语法错误可以通过IDE或者解释器给出提示的错误opentxt('a.jpg','r')逻辑错误语法层面没有问题,但是自己代码的逻辑有问题ifage>18:print('未成年')异常多指在程序执行过程中,出现的未知错误,语法和逻辑本身是正确的。可以通过代码进行处理或修复异常分类除零异常(ZeroDivisionError):1/0名称
系统 2019-09-27 17:52:47 1977
目前我们已经会使用Lock去对公共资源进行互斥访问了,也探讨了同一线程可以使用RLock去重入锁,但是尽管如此我们只不过才处理了一些程序中简单的同步现象,我们甚至还不能很合理的去解决使用Lock锁带来的死锁问题。所以我们得学会使用更深层的解决同步问题。Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。使用
系统 2019-09-27 17:50:56 1977
Python作为当下炙手可热的互联网行业,吸引了一大批有志之士加入其中。那么掌握了相关技术,怎么在面试中一展风采俘获HR芳心呢?下面,千锋为大家总结了一些在Python面试中需要注意的事项,与君共享。自我介绍之前讲过很多关于如何应对面试官提出的“自我介绍”这个问题,今天,针对Python程序员这个岗位,给大家重新梳理一下答题的结构。我们在做自我介绍时,可以按照:个人基本信息+基本技术构成+项目经验(具体项目以及在项目中的负责部分)+自我评价的结构来回答。
系统 2019-09-27 17:50:44 1977
Python画图示例(1)一维数据集绘图Python画图示例(2)二维数据集绘图Python画图示例(3)其他绘图样式,散点图,直方图等Python画图示例(4)3D绘图importnumpyasnpimportmatplotlib.pyplotaspltstike=np.linspace(50,150,24)ttm=np.linspace(0.5,2.5,24)stike,ttm=np.meshgrid(stike,ttm)print(stike[:2]
系统 2019-09-27 17:50:08 1977
前言:自动化测试存在比较多的使用限制,会存在某段时间无法使用的生疏期。通过这篇文章记录项目编写程序中遇到的问题以及解决思路,希望对以后的自动化开发能有些帮助。本篇记录5个问题:问题1:如何激活pycharm问题2.搭建selenium+unittest开发环境问题3:显示等待、隐式等待理解错误问题4:格式化字符串方法问题5:某一步页面无法响应,如何保证自动化程序能够继续运行,不受报错影响问题1:如何激活pycharm:网上找的攻略,想在已经激活了,但是忘了
系统 2019-09-27 17:47:48 1977