自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 全局解释器锁

数据结构和GILQueue标准库queue模块,提供FIFO的Queue、LIFO的队列、优先队列。Queue类是线程安全的,适用于多线程间安全的交换数据。内部使用了Lock和Condition。为什么讲魔术方法时,说实现容器的大小,不准确?如果不加锁,是不可能获得准确的大小的,因为你刚读取到了一个大小,还没有取走数据,就有可能被其他线程改了。Queue类的size虽然加了锁,但是,依...

2019-06-11 16:56:10 358

原创 多进程

多进程由于Python的GIL全局解释器锁存在,多线程未必是CPU密集型程序的好的选择。多进程可以完全独立的进程环境中运行程序,可以较充分地利用多处理器但是进程本身的隔离带来的数据不共享也是一个问题,而且线程比进程轻量级。multiprocessingProcess类Process类遵循了Thread类的API,减少了学习难度。以一个例子来说:import multiprocess...

2019-06-11 15:48:28 113

原创 GIT一

GIT由来Linux内核代码需要版本管理工具管理代码,2002年开始,使用的是BitMover公司的BitKeeper这个商用软件。但 是Linux社区崇尚的是自由软件相悖。 2005年,Andrew Tridgell对BitKeeper的协议进行逆向工程,BitKeeper作者决定收回无偿使用授权。磋商无果, Linus又找不到合适的版本管理工具,决定自行开发分布式版本管理工具,一个月后,Li...

2019-06-04 19:55:11 135

原创 堆排序的实现

我们首先需要了解到堆排序可以解决什么样的问题,毫无疑问,排序,说的简单点就是给一组无序的数字进行排序调整,使其按一定规律,或从大到小或从小到大的顺序有序排列。堆排序相对于冒泡,选择排序来说,思考的更为难点。所以在学习堆排序的时候,我们选择了先行理解二叉树的定义以及操作。举个例子,有一个树,请打印出来下面的样子对于这样一题的要求,需要严格对齐,就像一个二叉树一样。思路那我们不禁想了,这样...

2019-05-21 11:31:13 174

原创 正则表达式

概述正则表达式,Regular Expression,缩写为regex,regexp,RE等!正则表达式是文本处理极为重要的技术,是开发必备技能,用它可以对字符串按照某种规则进行检索、替换。1970年代,Unix之父Ken Thompson 将正则表达式引入到Unix中文编辑器ed和grep命令中,由此正则表达式普及开来!(普及之后,到现在基本上没有什么文本编辑器不支持正则表达式了!)1...

2019-05-11 17:51:43 189

原创 Python类型注解

函数定义的弊端Python是动态语言,变量随时可以被赋值,且能赋值为不同的类型Python不是静态编译型语言,变量类型是在运行期决定的动态语言很灵活,但是这种特性也是弊端def add(x,y): return x+yprint(add(4,5))print(add('hello','world')add(1,'hello')难发现:由于不做任何类型检查,直到运行期问...

2019-04-23 11:42:18 755

原创 高阶函数

一等公民在Python中,函数可以称得上为一等公民(First-Class Object)函数也是对象,是可调用对象函数可以作为普通变量,也可以作为函数的参数、返回值高阶函数(High-order Function)数学概念y=f(g(x))在数学和计算机科学中,高阶函数应当是至少满足下面一个条件的函数:1.接受一个或多个函数作为参数2.输出一个函数def counter(b...

2019-04-21 14:09:33 319

原创 装饰器

装饰器需求:一个加法函数,想要增强它的功能,能够输出被调用过以及调用的参数信息def add(x,y): renturn x+y增强信息输出功能def add(x,y): print("call add,x+y") #日志输出到控制台 return x+y上面的加法函数是完成了需求,但有缺点:打印是一个功能,这条语句和add函数耦合太高加法函数属于业务...

2019-04-21 12:32:45 134

原创 Python中树简单定义

树非线性结构树是n(n>=0)个元素的集合n=0时,称为空树树只有一个特殊的没有前驱的元素,称为树的根Root树中除了根结点外,其余元素只能有一个前驱,可以有零个或多个后继递归定义树T是n(n≥0)个元素的集合。n=0时,称为空树有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1、T2、T3、…、Tm,而每 一个集合都是树,称为T的子树Subtre...

2019-04-18 11:48:22 1005

原创 生成器

生成器generator生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这 个函数得到一个生成器对象生成器对象,是一个可迭代对象,是一个迭代器生成器对象,是延迟计算、惰性求值的生成器函数函数体中包含yield语句的函数,就是生成器函数,调用后返回生成器对象m = (i for i in range(5)) # 生成器表达式pri...

2019-04-16 16:23:22 226

原创 匿名函数

匿名函数匿名:隐藏名字,就是没有名称匿名函数:顾名思义就没有名字的函数lambda x: x ** 2 # 定义 (lambda x: x ** 2)(4) # 调用foo = lambda x,y: (x+y) ** 2 # 定义函数,不推荐,不如直接定义函数foo(1, 2) # 等价于 def foo(x,y): return (x+y) ** 2...

2019-04-16 09:48:30 135

原创 递归函数

函数执行流程def foo1(b, b1=3): print("foo1 called", b, b1)def foo2(c): foo3(c) print("foo2 called", c)def foo3(d): print("foo3 called", d)def main(): print("main called") foo1(100, 1...

2019-04-15 20:42:49 139

原创 Python内置数据结构(字典)

字典dict字典就是key-value键值对的数据的集合可变的、无序的、key不重复(无序是因为按照key走的,而key是hash过的)字典dict定义 初始化d=dict()或者d={}dict(**kwargs)使用name=value对初始化一个字典dict(iterable,**kwarg)使用可迭代对象和name=value对构造字典,不过可迭代对象的元素必须是...

2019-04-10 16:24:07 144

原创 Python内置数据结构

列表list列表内的个体称作元素,有若干元素组成列表元素可以是任意对象(数字、字符串、对象、列表等)列表内元素有顺序,可以使用索引线性的数据结构使用【】表示列表是可变的(列表在空间结构中必须是连续整洁的空间实际上是C语言包装出的数组)优势:定位速度非常快,可以很快的查询到数据劣势:如果说其中一个数据动一下,就会影响到后面所有的数据都会依次向前调,这个是性能最差的地方一定要小...

2019-03-29 20:35:06 98

原创 Python内置的数据结构

内置数据结构int,float,comliex(就是虚数),bool就是特殊的整型import math导入 模块ceil就在2上 那就取2,如果大一点点那就取3负数也是向上取整!与之相对的就有个向下取整,floorint一般情况下是一种截取效果,根本不管上下!截取整数部分round是四舍六入,5取偶数的作用(在5的时候,离谁近取谁,注意!)!如上图!**//**整除且向...

2019-03-28 16:11:11 242

原创 python基础语法

a1. 冯诺依曼体系架构从电脑被研发出来到现在我们的电脑都是依照冯诺依曼体系的架构!如图这个都是上课老师的课件,可以简明的了解到冯诺依曼体系!2.语言分类低级语言面向机器的语言,包括机器语言、汇编语言不同的机器是不能通用的,需要不同的或者特定的机器指令高级语言接近自然语言和数学语言的计算机语言最早的高级语言是1954年正式发布的Fortran语言,本意是公式翻译3....

2019-03-26 20:48:08 118

原创 Linux入门

Linux入门Linux都是命令操作,命令很多不好记,可以用man 来查看一个命令的用法。遇到很长的命令,用tab键可以补全。内容基本上都是来自我上马哥教育的课程来的!1登录[Ctrl] + [Alt] + [F1]~[F6] 表示6个终端。命令窗口和图像窗口可以通过[Ctrl] + [Alt] + [F1]和[Ctrl] + [Alt] + [F2]来切换。exit 退出当前用户。常用...

2019-03-24 20:57:28 76

原创 magedu python

study python学习时间2019.3.18–2019.8.18学习目标学好Python,能够年薪20w学习计划跟踪好老师的每天课程,由浅入深学习Python,课堂有问题及时标记,自习时间及时消化以及应用找出自身不足,通过同学.老师以及网络等途径来更好的应用课堂知识。学习日常根据教学日程,跟随老师教学课程,上一天课,自习一天。前一天课堂认真学,后一天自习时间认真巩固。自身是...

2019-03-19 15:56:19 303

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除