生成器(generator)概念生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。生成器语法生成器表达式:通列表解析语法,只不过把列表解析的[]换成()生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存。>>>gen=(x**2forxinrange(5))>>>genat0x0000000002FB7B40>>>>forgingen:
系统 2019-09-27 17:52:55 2001
python默认环境一般是ascii编码方式,因此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinalnotinrange(128))。参考可通过如下方式查看默认环境编码方式:importsysprintsys.getdefaultencoding()问题解决有两种方式:1、修改默认环境编码方式为utf-8importsysreload(sys)#不加这个会报”找不到setdefaultenc
系统 2019-09-27 17:52:42 2001
Python中的json对象实际是一个字典结构,用于存储和交换信息,导入json模块:importjson1,把字符串转换为jsonjson的load()方法用于把josn格式的字符串转换为json对象,这实际上是一个字典结构:json_string='{"name":"John","age":30,"city":"NewYork"}'#parsestringtojsonjson_obj=json.loads(json_string)2,把字典转换为jso
系统 2019-09-27 17:52:33 2001
由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 2001
Python适配器模式,代码,思考等#-*-coding:utf-8-*-#author:baoshanclassComputer:def__init__(self,name):self.name=namedef__str__(self):return'the{}computer'.format(self.name)defexecute(self):return'executesaprogram'classSynthesizer:def__init__(s
系统 2019-09-27 17:52:07 2001
Python3快速入门(十五)——Pandas数据处理一、函数应用1、函数应用简介如果要将自定义函数或其它库函数应用于Pandas对象,有三种使用方式。pipe()将函数用于表格,apply()将函数用于行或列,applymap()将函数用于元素。2、表格函数应用可以通过将函数对象和参数作为pipe函数的参数来执行自定义操作,会对整个DataFrame执行操作。#-*-coding=utf-8-*-importpandasaspdimportnumpyas
系统 2019-09-27 17:52:01 2001
目录1.分支结构1.1初步介绍1.2使用案例1.3练习2.循环结构1.1初步介绍1.2使用案例1.分支结构1.1初步介绍至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户输入用户名和密码,输入正确则验证通过,否则即验证失败。这个时候就会产生两个分支,而且两个分支只会有一条分支会走下去。当然,还有很多类似的场景,我们将这种结果称为"分支结构"或“选择结构”。语法格式:ifxxx1:事情1elifxxx2:事情2el
系统 2019-09-27 17:51:46 2001
2016年1月,机缘巧合下我出版了《Selenium2自动化测试实战--基于python语言》这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目中使用Selenium,几乎离不开编程语言和单元测试框架,难道你只用SeleniumIDE去录制/回放脚本么?没想到受到许多测试人员的欢迎,我会时常去看网上的书评。大多是感谢的留言,书的销量也印证了这一点,当然,也有批评和建议。在此,表示感谢。随着,我对Selenium自
系统 2019-09-27 17:51:40 2001
python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。withopen('file.txt','r')asold_file:withopen('file.txt','r+')asnew_file:current_line=0#定位到需要删除的行whilecurrent_line<(3-1):#(del_line-1)old_file.readline()current_line+=1#当前光标在被删除
系统 2019-09-27 17:51:18 2001
之前学习C语言的时候,语法之类的都不是很懂,但是已经知道3个情况---流程1.顺序编写(一步一步下去)执行按照上到下;2.判断编写。(就是如果符合什么条件,就做什么。。。。)3.循环编写。(符合特定条件,进行重复的事情)###到了python,我们上一个课,说了if,这里说循环;你不是要问顺序不说吗?自己脑补一下(不需要理会任何条件的,一个个代码执行下去,不是顺序?)for循环和while循环--------------------------------
系统 2019-09-27 17:51:03 2001