Python学习历程
文章平均质量分 57
采蘑菇的下午茶
这个作者很懒,什么都没留下…
展开
-
python 学习之路 ---多进程精讲
多进程由于Python的GIL全局解释器锁存在,多线程未必是CPU密集型程序的好的选择。多进程可以完全独立的进程环境中运行程序,可以较充分地利用多处理器。但是进程本身的隔离带来的数据不共享也是一个问题。而且线程比进程轻量级。multiprocessingProcess类Process 类遵循了hread 类的API, 减少了学习难度先看一个例子,前面介绍了单线程,多线程比较的例子的多...原创 2019-06-29 09:47:28 · 317 阅读 · 0 评论 -
python学习之 --CSV二维数据 + ini 配置文件处理
csv文件CSV 是一个被行分隔符、列分隔符划分成行和列的文本文件。CSV 不指定字符编码。行分隔符为\r\n,最后一行可以没有换行符列分隔符常为逗号或者制表符。每一行称为一条记录record字段可以使用双引号括起来,也可以不使用。如果字段中出现了双引号、逗号、换行符必须使用双引号括起来。如果字段的值是双引号,使用两个双引号表示一个转义。表头可选,和字段列对齐就行了。手动生成cs...原创 2019-05-06 09:21:43 · 374 阅读 · 0 评论 -
python学习之 --- shutil模块复制+copy+copytree+rm删除
shutil模块在一个目录下有两个文件,其中一个文件中写入数据,现在要将这些数据复制到另一个文件中,该如何操作?方法一: 打开文件读取,然后写入到另一个文件中import shutilfrom pathlib import Pathp1 = Path('C:/Users/Administrator/tmp/')with open('C:/Users/Administrator/tmp...原创 2019-05-06 09:02:54 · 3034 阅读 · 0 评论 -
python学习之 ---序列化与反序列化+pickle库+Json序列化+MessagePack序列化
序列化与反序列化为什么要序列化内存中的字典、列表、集合以及各种对象,如何保存到一个文件中?如果是自己定义的类的实例,如何保存到一个文件中?如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类的实例?要设计一套协议,按照某种规则,把内存中数据保存到文件中。文件是一个字节序列,所以必须把数据转换成字节序列,输出到文件。这就是序列化。反之,从文件的字节序列恢复到内存并且还是原来的类型...原创 2019-05-06 09:00:31 · 193 阅读 · 0 评论 -
Python学习之 ---文件路径操作+os.path +pathlib
路径操作路径操作模块from os import pathp = path.join('/etc','sysconfig','notework') # 创建路径 p,type(p)>>> '/etc\\sysconfig\\notework', str ###########path.split(p) # 拆分路径>>> '/et...原创 2019-05-06 08:56:10 · 795 阅读 · 0 评论 -
Python学习之---open操作+buffering缓冲区+上下文管理+StringIO和BytesIO
文件操作文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义。1.1 ,open 操作open( file, # 文件名 mode='r', #默认为只读模式 buffering=-1,# 缓冲区 encoding=None,# 默认编码 errors=None,# newline=None, ...原创 2019-05-05 20:49:55 · 6532 阅读 · 1 评论 -
Python学习之 ---python参数类型注解
python参数类型注解Python是动态语言,变量随时可以被赋值,且能赋值为不同的类型Python不是静态编译型语言,变量类型是在运行期决定的动态语言很灵活,但是这种特性也是弊端def add(x, y): return x + yprint(add(4, 5))print(add('hello', 'world'))add(4, 'hello') #in...原创 2019-04-23 20:23:42 · 2762 阅读 · 0 评论 -
斐波那契数列的五种求法与时间复杂度测算
斐波那契数列的四种求法与时间复杂度测算定义:什么是斐波那契数列?斐波那契数列了解了斐波那契数列的特性,又该如何求解呢?不同方法所消耗的时间又是多少呢?接下来就做详细解析!方法一: 普通循环法计算%%timeit # 用于测算时间,将下面的函数重复执行多次,求出其平均值a ,b= 0,1for i in range(20):# 求斐波那契数列的前20项,如果求100以内的斐波那契数列...原创 2019-04-23 16:50:54 · 2657 阅读 · 0 评论 -
Python学习之 ---函数的柯里化与装饰器的编写
柯里化元装饰器柯里化与装饰器在Python中应用广泛,通过使用柯里化可以给实现装饰器提供可能.那么什么叫做装饰器么?先做个简单的疏导:装饰器本来是一门技术,但是在python中发扬光大了。举例:如果有一个情况,要定义一个函数,功能是做排序,三下五除二写出来了,但是客户过几天又说,哎你能不能给这个函数加一个时间运行统计,我想知道这个函数内部占用时间较大的运算。如果再去改代码的话,相当于把代码...原创 2019-04-23 10:25:24 · 321 阅读 · 0 评论 -
Python学习之 ---生成器
生成器★★★★生成器generator● 生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象● 生成器对象,是一个可迭代对象,是一个迭代器● 生成器对象,是延迟计算、惰性求值的生成器函数●函数体中包含yield语句的函数,就是生成器函数,调用后返回生成器对象.生成器函数def inc(): for i...原创 2019-04-23 10:23:59 · 153 阅读 · 0 评论 -
Python学习之 ---高阶函数+map()函数+filter()函数+zip()函数
高阶函数一等公民 First-Class Object● 函数在Python 是一等公民● 函数也是对象,是可调用对象● 函数可以作为普通变量,也可以作为函数参数,返回值高阶函数高阶函数(High-Order Function)● 数学概念,y= f(x)● 在数学和计算科学中,高阶函数应但是至少满足下面一个条件的函数 ◇ 接受一个或多个函数作为参数 ◇ 输出一个函数d...原创 2019-04-23 10:23:38 · 159 阅读 · 0 评论 -
Python学习之 ---日志分析+数据分发与分析+多线程+queue模块+日志分析综合
日志分析概述生成中会生成大量的系统日志,应用程序日志,安全日志等等日志,通过对日志的分析可以了解服务器的负载,键康状况,可以分析客户的分布情况,客户的行为,甚至基于这些分析的时候可以做出预测.一般采集流程,日志产出->采集(Logdtash,Flume,Scribe) -> 存储->分析->存储(数据库,NoSQL)->可视化开源实时日志分析ELK平台Lo...原创 2019-05-13 21:29:54 · 753 阅读 · 0 评论 -
Python学习之--argparse 模块 +ls功能模块实现举例
Python–argparse 模块一、简介argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。二、使用步骤1:import argparse # 首先导入模块2:parser = argpa...原创 2019-05-11 16:42:34 · 432 阅读 · 0 评论 -
python学习之路--多线程精讲
并发与多线程基本概念并发与并行的区别并行: parallel 互不干扰的同一时刻做几件事情并发: concurrency 同一时刻有很多事情要做并发的解决1> 对列,缓冲区 # 排队 如Queue Lifoqueue PriorityQueue (小顶堆 实现)2> 争抢 # 互相抢,哪个抢到就执行哪个3> 预处理 ...原创 2019-06-29 09:46:50 · 330 阅读 · 0 评论 -
Python 学习之 ---asyncio 库的使用
asyncio 库的使用3.4版本加入标准库asyncio 底层基于selector 实现,看似库,其实就是个框架,包含同步IO, 事件循环,协程,任务等内容举例:def a(): for i in range(3): print('a.x',i)def b(): for i in range(3): print('b.x' ,i)a()...原创 2019-06-19 16:50:28 · 2465 阅读 · 0 评论 -
python学习之 ---logging 模块详解
logging 模块日志级别日志级别数值CRIICAL# 严重警告,危险50ERROR40WARNING30# 默认级别INFO20DEBUG10NOTSET0日志级别指的是产生日志的事件的严重程度设置一个级别后,严重程度低于设置值的日志消息将被忽略debug()、 info()、 warning()、 error() 和 ...原创 2019-06-13 14:52:57 · 918 阅读 · 0 评论 -
python学习之 ---面向对象高级进阶+魔术方法+描述器
面向对象高级附上面向对象所以知识的思维图:特殊属性含义_name_类,函数,方法等的名字_class_对象的类型 type (type(ClassName)) 相当于 ClassName._type___dict__★★★★对象属性的字典_qualname_类的限定名_bases_类的基类的元组,顺序为他们在基类列表中出现的顺序...原创 2019-06-05 19:33:06 · 266 阅读 · 0 评论 -
python学习之---异常处理
异常处理异常 Exception错误 Error逻辑错误,算法写错,笔误: 变量名写错,函数或类使用错误错误可以避免**异常Exception **例如:open 函数,文件不存在,或者创建文件时,文件已经存在,或者访问一个网络文件,突然断网,是个意外情况异常是不可避免的错误和异常在高级语言中,一般都有错误和异常,异常可以捕获,并被处理,但是错误是不能被捕获的产生异常rai...原创 2019-05-21 21:08:06 · 853 阅读 · 0 评论 -
python面向对象学习三 --多继承+装饰器写多继承+Mixin多继承
多继承OCP原则: 多用继承,少修改补充OCP – Open -closed Principle (开闭原则) 应该在不修改现有代码的基础上,引入新的功能继承的用途: 在子类上实现对基类的增强,实现多态多态在面向对象中,父类,子类通过继承联系在一起,如果可以通过一套方法,就可以实现不同表现,就是多态一个类继承自多个类就是多继承,它将具有多个类的特征多继承的弊端多继承很好的模拟了世界,...原创 2019-05-21 21:07:24 · 371 阅读 · 0 评论 -
python面象对象学习二 ---类的继承(单类)
类的继承基本概念在面向对象中,从父类继承,就可以直接拥有父类的属性和方法,这样可以减少代码,多复用,子类可以定义自己的属性和方法如何继承?举例:class A : # python3中一切类都从object开始继承例如 A(object) passClass B(A) : # 定义B类时,用("被继承的类") 就可以表示B 从A 类继承 passa = A() ...原创 2019-05-21 21:06:24 · 181 阅读 · 0 评论 -
python面向对象学习一 ---面向对象基础
面向对象语言的分类面向机器 : 抽象成机器指令,机器容易理解的语言,代表汇编语言面向过程 :可以步骤化,按部就班的处理,代表C语言面向对象 : 代表 python java什么是面向对象呢?一种认识世界,分析世界的方法论,将万事万物抽象为各种对象,类class类是抽象的概念,是万事万物的抽象,是一类事物的共同特用计算机语言来描述类,是属性和方法的集合对象 instance ...原创 2019-05-21 21:05:24 · 329 阅读 · 0 评论 -
python学习之 ---正则表达式规则与正则表达式在python的应用
正则表达式概述正则表达式30分钟快速入门正则表达式是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索,替换分类BRE基本正则表达式,grep、sed、vi等软件支持。vim有扩展。ERE扩展正则表达式,egrep(grep -E)、sed -r等。PCRE几乎所有高级语言都是PCRE的方言或者变种。Python从1.6开始使用SRE正则表达式引擎,可以认为是PC...原创 2019-05-11 17:39:21 · 301 阅读 · 0 评论 -
Python学习之 ---数据结构"树"的基础知识
知识导图树树是一种非常重要的数据结构,它是非线性结构,它不是Python内置的数据结构;● 非线性结构● 树是n(n≥0)个元素的集合 ● n = 0时,称为空树 ● 树只有一个特殊的没有前驱的元素,称为树的根Root ● 树中除了根结点外,其余元素只能有一个前驱,可以有零个或多个后继 # 若存在不止一个前驱则为图● 递归定义 ● 树T是n(n≥0)个元素的...原创 2019-04-18 13:05:25 · 310 阅读 · 0 评论 -
Python学习之 ---标准库datetime + calendar + time的使用
俗话说:不以结婚为目的的恋爱都是耍流氓.今天我们在说另一个耍流氓:不考虑时间的编程就是耍流氓.因此,今天主要学习时间库的相关知识.北京时间首先学习datetime模块datetime模块可以对日期,时间,时间戳进行处理datetime 的类操作datetime.datetime.today()# 返回本地时区当前时间的datetime对象>>>datetim...原创 2019-04-10 20:00:59 · 360 阅读 · 0 评论 -
Python 学习之---内置数据结构---bytes & bytearray
0 引言学过了线性列表字符串str""、列表list[]、元组tuple(),今天我们来聊聊另外两个非常重要的数据类型: bytes、bytearray。1.概念bytes 与bytearray都是Python3才引入的两个类型。bytes 表示字节序列,是一个不可变的数据类型。bytearray 表示字节数组,是一个可变的数据类型。定义这两种类型的数据,在内存中开辟的空间都得是...原创 2019-04-01 15:12:09 · 687 阅读 · 0 评论 -
Python学习之---集合,元组,列表,字符串,字典 ---组合数据类型使用方法
0. 组合数据类型的基本概念定义: 能够表示多个数据的类型称为组合数据类型。组合数据类型分类: 集合类型;序列类型;映射类型。集合类型: 是一个元素集合,元素之间无序,相同元素在集合中唯一存在。序列类型: 是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他,可重复。序列类型的典型代表是字符串类型和列表类型。映射类型是:“键-值”数据项的组合,每个元素是一个键值对,表...原创 2019-04-10 15:59:44 · 1345 阅读 · 0 评论 -
Python学习之---普通方法+列表解析式打印九九乘法口诀表
无论是学习哪一门编程语言,九九乘法表都是逃不开的循环示例,通过打印九九乘法表,变形的九九乘法表可以很好的训练for、while 循环 print、format 函数,字符串,列表等知识。下面就介绍一些方法:打印正向九九乘法口诀表:方法一:常规的字符串拼接打印:for i in range(1,10): s = "" for j in range(1,i+1): s += str...原创 2019-03-31 11:32:53 · 2187 阅读 · 0 评论 -
Python学习之---元组+字符串+random随机库
random库概述使用random库主要目的是生成随机数。例:random.randint(a,b) —>生成[a,b]的整数(闭区间)random.randrange(a,b)----->生成[a,b]的数(左闭又开)random库的常用函数random库与随机数运用函数描述seed(a=None)初始化随机数种子,默认值为当前系统时间...原创 2019-03-31 08:48:00 · 2087 阅读 · 0 评论 -
Python学习之---求100以内素数的八种解法
标题:求100以内所有的素数和个数;延伸:任意范围内的素数和前N个素数的和.定义何为素数?素数(又称为质数)就是在所有比1大的整数中,除了1和它本身以外,不再有别的因数,这种整数叫做质数。还可以说成质数只有1和它本身两个约数。2.素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任 何其它两个整数的乘积。解法知道了素数的定义之后,该如何求解素数呢?不论是求和,还是求解...原创 2019-04-04 15:06:45 · 25618 阅读 · 0 评论 -
Linux学习之 ---yum与rpm 路径配置+本地仓库配置+软件安装
常用安装方式:1)rpm安装2)yum 安装3)定制yum仓库4)编译安装一、 rpm安装软件1、rpm 软件安装 —资源准备(1)挂载光盘方法一:[root@eric ~]#df 查看光盘路径参考链接: https://blog.csdn.net/qq_40498551/article/details/88698603 [https://blog.csdn.net/qq...原创 2019-03-23 21:00:22 · 245 阅读 · 0 评论 -
Linux基础学习之--- 设置shell脚本默认开头格式
在使用shell编程时,每次打开新的脚本都需要在开头输入#!/bash/bin 创建时间、创建人、联系方式等参数,每次都输入较为繁琐,因此可以在可以设置默认的配置文件,这样每次在启动时就可以自动配置好相关信息。配置步骤:在根目录下新建个[root@eric ~]# vim .vimrc在此vimrc中插入下面的代码:1 set ignorecase ...原创 2019-03-26 14:13:51 · 747 阅读 · 0 评论 -
Python学习之---杨辉三角的五种解法
杨辉三角(也称帕斯卡三角)对与编程初学者来说,肯定不陌生,它是一个无限对称的数字金字塔,从顶部的单个1开始,下面一行中的每个数字都是上面两个数字的和。杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623—-1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟6...原创 2019-04-03 16:44:35 · 5445 阅读 · 0 评论 -
Python学习之---内建函数isinstance()★issubclass()★sum()★sorted()★all()★any()的使用方法详解
Python 解释器内置了许多函数和类型,常用的列表如下:菜鸟教程内建函数--内建函数表--★isinstance()★issubclass()★sum()★sorted()memoryview()★enumerate()★reversed()★zip()help()min()★any()★all()hex()next()slice...原创 2019-04-13 08:43:43 · 285 阅读 · 0 评论 -
Python学习之---列表解析+字典解析+集合解析+生成器表达式
列表解析List Comprehension语法:◆ [返回值 for 元素 in 可迭代对象 if 条件]◆ 使用中括号[],内部是for循环,if条件语句可选◆ 立即返回一个新的列表优点列表解析式是一种语法糖,引入一个新的概念:语法糖语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了...原创 2019-04-14 17:11:18 · 821 阅读 · 0 评论 -
python学习之 --- random库的高级使用方法
random库概述主要功能random 库主要功能是生成随机数.基本随机数的产生随机数的产生方法:需要一个随机数种子,再根据梅森旋转算法,产生一个随机数序列,随机数种子确定,那么随机数序列的数和数之间的关系也是确定的.因为随机数的产生方法,python中的随机数都是伪随机数,只要随机数种子确定,随机数序列也是确定的。random库的常用函数random库与随机数运用函数...原创 2019-04-26 09:11:59 · 730 阅读 · 0 评论 -
Python学习之 ---匿名函数lambda表达式
本文实例讲述了python中的lambda表达式用法。分享给大家供大家参考,具体如下:这里来为大家介绍一下lambda函数。匿名函数匿名:隐匿名字,既没有名称lambda 表达式Python中,使用lambda 表达式构建匿名函数lambda x:x*2 #定义(lambda x,y: x+y)(4,5)#加一个括号表示成函数,后面加(4,5)表示传参.在冒号之后不允许出现等号★★★...原创 2019-04-17 08:37:05 · 918 阅读 · 0 评论 -
Python学习之 ---functools+reduce方法+ partial偏函数+lru_cache缓存复用
之前在将装饰器时使用到了functool里的wpapsfunctool 里还有几个很重要的部分值得深入学习 .包括:reduce方法partial偏函数lrc _cache_接下来将对这些方法进行详细的叙说:reduce方法reduce方法,顾名思义就是减少reduce(function, sequence[, initial]) -> value ★★★...原创 2019-04-25 21:42:26 · 404 阅读 · 0 评论 -
Python学习之 ---生成器+生成器函数
生成器★★★★知识导图生成器generator● 生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象● 生成器对象,是一个可迭代对象,是一个迭代器● 生成器对象,是延迟计算、惰性求值的生成器函数●函数体中包含yield语句的函数,就是生成器函数,调用后返回生成器对象.生成器函数def inc(): ...原创 2019-04-16 22:11:42 · 2984 阅读 · 1 评论 -
Python学习之 ---函数的作用域和引用范围+全局变量+局部变量+默认值的作用域
函数的作用域作用域的定义: 就是变量可以使用的范围1.作用域分类● 全局作用域■ 在整个程序运行环境中都可见■ 全局作用域中的变量称为全局变量● 局部作用域■ 在函数,类等内部可见■ 局部作用域中的变量称为局部变量,其使用范围不能超过其所在的局部作用域.x =10#全局变量def fn(): #x 能打印么? 外部变量对内可见,内部定义外部不可见. print(x...原创 2019-04-13 17:20:50 · 691 阅读 · 0 评论 -
Python学习之---自定义函数(def())的使用与相关操作
Python学习之—自定义函数(def())的使用+相关操作首先牢记:关键字参数不可以在位置参数和普通参数的前面可变关键字参数,不可以在可变位置参数和普通参数前面.重要的事说三遍!!!牢记~~~这是后面判断定义的函数和函数调用是否正确的重要方法,往往会忘记.函数:数学定义y=f(x),y是x的函数,x是自变量.Python函数● 由若干语句组成的语句块,函数名称,参数列表,它是...原创 2019-04-13 09:56:16 · 99550 阅读 · 7 评论