Python入门篇-StringIO和BytesIO】的更多相关文章

Python入门篇-StringIO和BytesIO 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringIO(用于文本处理) 1>.使用案例 #!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4…
Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理. 问题规模小,可以步骤化,按部就班处理. 代表:C语言 面向对象OOP 随着计算机需要解决的问题的规模扩大,情况越来越复杂.需要很多人.很多部门协作,面向过程编程不太适合了. 代表:C++.Java.Pyth…
Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readline:行读取 readlines:多行读取 seek:文件指针操作 tell:指针位置 二.基本操作 1>.打开操作 #!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com…
Python入门篇-functools 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.reduce方法 reduce方法,顾名思义就是减少 reduce(function,sequence[,initial])->value 可迭代对象不能位空:初始值没提供就在可迭代对象中取一个元素 #!/usr/bin/env python #_*_conding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/y…
Python入门篇-类型注解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数定义的弊端 1>.动态语言很灵活,但是这种特性也是弊端 Python是动态语言,变量随时可以被赋值,且能赋值为不同的类型 Python不是静态编译型语言,变量类型是在运行器决定的 动态语言很灵活,但是这种特性也是弊端 def add(x, y): return x + y print(add(4, 5)) print(add('hello', 'world')) add(4, 'hello')…
Python入门篇-数据结构堆排序Heap Sort 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.堆Heap 堆是一个完全二叉树 每个非叶子结点都要大于或者等于其左右孩子结点的值称为大顶堆 每个非叶子结点都要小于或者等于其左右孩子结点的值称为小顶堆 根结点一定是大顶堆中的最大值,一定是小顶堆中的最小值 二.大顶堆 完全二叉树的每个非叶子结点都要大于或者等于其左右孩子结点的值称为大顶堆 根结点一定是大顶堆中的最大值 三.小顶堆 完全二叉树的每个非叶子结点都要小于或者等于其…
Python入门篇-数据结构树(tree)的遍历 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.遍历 迭代所有元素一遍. 二.树的遍历 对树中所有元素不重复地访问一遍,也称作扫描. 三.广度优先遍历 层序遍历: (1)按照树的层次,从第一层开始,自左向右遍历元素 (2)遍历序列如下图所示,(ABCDEFGHI) 四.深度优先遍历 设树的根结点为D,左子树为L,右子树为R,且要求L一定在R之前,则有下面几种遍历方式: 前序遍历,也叫先序遍历.也叫先根遍历,DLR 中序遍历,…
Python入门篇-装饰器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.装饰器概述 装饰器(无参) 它是一个函数 函数作为它的形参 返回值也是一个函数 可以使用@functionname方式,简化调用 装饰器和高阶函数 装饰器是高阶函数,但装饰器是对传入函数的功能的装饰(功能增强) 带参装饰器 它是一个函数 函数作为它的形参 返回值是一个不带参的装饰器函数 使用@functionname(参数列表)方式调用 可以看做在装饰器外层又加了一层函数 二.为什么要用装饰器 1>…
Python入门篇-高阶函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.高级函数  1>.First Class Object 函数在Python中是一等公民 函数也是对象,可调用的对象 函数可以作为普通变量,参数,返回值等等 2>.高阶函数 数学概念:y=g(f(x)) 在数学和计算机科学中,高阶函数应当是至少满足下面一条条件的函数 接收一个或多个函数作为参数 输出一个函数对象 3>.计数器 #!/usr/bin/env python #_*_coding:…
Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象 2>. 生成器函数 函数体中包含yield语句的函数,返回生成器对象 生成器对象,是一个可迭代对象,是一个迭代器 生成器对象,是延迟计算,惰性求值的 包含yield语句的生成器函数生成生成器对象的时候,生成器函数的函数体不会立…
Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>.匿名函数编写格式 Python借助Lambda表达式构建匿名函数 匿名函数格式如下: lambda 参数列表:表达式 3>.匿名函数注意事项 (1)使用lambda关键字来定义匿名函数 (2)参数列表不需要小括号 (3)冒号是用来分割参数列表和表达式的 (4)不需要使用return,表达式的值,就是匿名…
Python入门篇-递归函数(recursion) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.递归概述 (1)函数直接或者间接调用自身就是递归: (2)递归需要有边界,递归前进段,递归返回段: (3)递归一定要有边界条件: (4)当边界条件不满足的时候,递归前进: (5)当边界条件满足的时候,递归返回: 二.递归案例 #!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http:/…
Python入门篇-数据结构树(tree)篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.树概述 1>.树的概念 非线性结构,每个元素可以有多个前躯和后继 树是n(n>=0)个元素的集合: n = 0时,称为空树 树只有一个特殊的没有前驱的元素,称为树的根root 树中除了根结点外,其余元素只能有一个前驱,可以有零个或者多个后继 递归定义: 数T是n(n>=0)个元素的集合.n=0时,称为空树 有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1…
Python入门篇-返回值和作用域 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.返回值 1>.返回值概述 Python函数使用return语句返回“返回值” 所有函数都有返回值,如果没有return语句,隐式调用return None return 语句并不一定是函数的语句块的最后一条语句 一个函数可以存在多个return语句,但是只有一条可以被执行.如果没有一条return语句被执行到,隐式调用return None 如果有必要,可以显示调用return None,可…
Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x是自变量.y=f(x0, x1, ..., xn) Python函数 由若干语句组成的语句块.函数名称.参数列表构成,它是组织代码的最小单元 完成一定的功能 函数的作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的为了复用,减少冗余代码 代码更加简洁美观.可读易懂 函数的分类 内建…
Python入门篇-内建函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常见的内建函数案例  1>.标识id 返回对象的唯一标识,CPython返回内存地址. #!/usr/bin/env python #_*_conding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie name = "尹正杰" print(id(name)) #以上代码输出结果如下:…
Python入门篇-解析式.生成器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析式(List Comprehension) 1>.列表解析式语法 语法 [ 返回值 for 元素 in 可迭代对象 if 条件] 使用中括号[],内部是for循环,if条件语句可选 返回一个新的列表 列表解析式是一种语法糖 编译器会优化,不会因为简写而影响效率,反而因优化提高了效率 减少程序员工作量,减少出错 简化了代码,但可读性增强 2>.列表解析式案例 #!/usr/bin/e…
Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装和结构 #!/usr/bin/env python #_*_conding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie x = 1,3,5,7 #Python中的封装,注意,这里把等号后边的int数据类型封装成元组了 print(x) a,b =…
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python内置数据结构分类 1>.数值型 如 :int,float,complex,bool 2>.序列对象 字符串:str 列表:list 元组:tuple 3>.键值对 集合:set 字典:dict 二.数值型 1>.数值型概述 .+3j都是对象即实例. int: python3的i…
Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程序 >.数据一切程序的核心 >.数据结构是数据在计算机中的类型和组织方式 >.算法是处理数据的方式,算法有优劣之分 写程序难点 >.理不清数据 >.不清处理方法 >.无法把数据设计转换成数据结构,无法把处理方法转换成算法 >.无法用设计范式来进行程序设计 >.世…
第一篇:python入门 第二篇:数据类型.字符编码.文件处理 第三篇:函数 第四篇:模块与包 第五篇:常用模块 第六篇:面向对象 第七篇:面向对象高级 第八篇:异常处理 第九篇:网络编程 第十篇:并发编程 第十一篇:Mysql系列 ………
Python入门 一.第一句python代码 很多语言的第一句python代码都是以“你好,世界”开始的,那么我们的python也是如此. 在 /home/dev/ 目录下创建 hello.py 文件,内容如下: print "hello,world" 执行 hello.py 文件,即: python /home/dev/hello.py python内部执行过程如下: 二.解释器 上一步中执行 python /home/dev/hello.py 时,明确的指出 hello.py 脚本…
链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431918785710e86a1a120ce04925bae155012c7fc71e000 StringIO和BytesIO 提供了一种在内存中对字符串和byte类型数据的操作方法,使得和读写文件具有一致的接口.StringIO只能操作str对象,而BytesIO操作的对象是bytes 写入: 1.导入对应模块 2…
from io import StringIO; f = StringIO(); f.write('Hello World'); s = f.readline(); print s; 上面这种方法“无论如何”都读不出f的内容,使用readlines和循环也不行. 但是,用以下的方法,却可以“正常读取”: from io import StringIO; f = StringIO('Hello World'); s = f.readline(); print s; 这是为什么呢? 这是因为the…
1.  预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用http库向目标站点发起请求,即发送一个Request,Request包含:请求头.请求体等. Request模块缺陷:不能执行JS 和CSS 代码. b. 获取响应内容 如果requests的内容存在于目标服务器上,那么服务器会返回请求内容. Response包含:html.Json字符串.图片,…
人生苦短,我用Python! Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议.Python语法简洁而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起.常见的一种应用情形是,使用Python快速生成程序的…
IO在计算机中指Input/Output,也就是输入和输出. 1.文件读写,1,读文件[使用Python内置函数,open,传入文件名标示符] >>> f = open('/Users/michael/test.txt', 'r') 标示符‘r’代表 读. 如果文件打开成功,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用 一个str对象表示: >>> f.read() 'Hello, world!' 最后文件读取完毕调用 close 关闭…
StringIO与BytesIO StringIO与BytesIO.类文件对象的用途,应用场景,优.缺点. StringIO StringIO 是io 模块中的类,在内存中开辟的一个文本模式的buffer,可以像文件对象一样操作它.当close 方法被调用的时候,这个buffer 会被释放. 好处:一般来说,磁盘的操作比内存的操作要慢的多,内存足够的时候,一般的优化思路是少落地,减少磁盘IO的过程,可以大大提高程序的运行速度.业务中单机情况可以使用StringIo或者BytesIO,多机就考虑使…
Python系列之入门篇--HDFS 简介 HDFS (Hadoop Distributed File System) Hadoop分布式文件系统,具有高容错性,适合部署在廉价的机器上.Python 提供了两种接口方式,分别是hdfscli(Restful Api Call),pyhdfs(RPC Call),这一节主要讲hdfscli的使用 代码示例 安装 pip install hdfs 引入相关模块 from hdfs import * 创建客户端 """ It has…
Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) 代码示例 安装 pip install MySQL-python 引入相关模块 import MySQLdb 创建客户端 conn = MySQLdb.connect(host, user, passwd, database, charset='utf8') cur = conn.cursor()…