自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python数据结构-树(草稿)

❏ 除根节点外,其他每个节点都与其唯一的父节点相连;❏ 从根节点到其他每个节点都有且仅有一条路径;❏ 如果每个节点最多有两个子节点,我们就称这样的树为二叉树。定义二:(递归定义)一棵树要么为空,要么由一个根节点和零棵或多棵子树构成,子树本身也是一棵树。每棵子树的根节点通过一条边连到父树的根节点。实现以下函数创建并操作二叉树实现树的关键在于选择一个好的内部存储技巧。Python提供两种有意思的方式,我们在选择前会仔细了解

2022-01-14 18:14:55 656

原创 python基础篇-迭代器、生成器

Python是一种简洁明了的语言,迭代器已经融入其语言本身的特性了,Python中的for循环本身就是一个迭代的过程,也是最简单易用的迭代方式。可以直接作用于for循环的数据类型有以下两种:集合数据类型,如list、tuple、dict、set、str等。生成器(Generator),包括()语法定义的生成器和带yield的generator函数。可以直接作用于for循环的对象统称为可迭代对象(Iterable)。Iterable对象gen=(x*x for x in range(10))

2021-11-29 12:13:24 616

原创 设计模式-迭代模式

第10章 迭代模式从生活中领悟迭代模式医院的排号系统就像病人队伍的大管家,通过数字化的方式精确地维护着先来先就诊的秩序。医生不用在乎外面有多少人在等待,更不需要了解每一个人的名字和具体信息。他只要在诊断完一个病人后按一下按钮,排号系统就会自动为他呼叫下一位病人,这样医生就可专注于病情的诊断!这个排号系统就如同程序设计中的迭代模式。为什么不用python的集合(可迭代的),来简化这个问题呢?主要有以下两个原因:(1)for…in…的方式不能实现医生诊断完一个病人后呼叫下一个(next)病人的功

2021-11-29 11:31:18 209

原创 Python描述符

描述符就是实现了描述符协议的对象,描述符协议包含三个方法:get、set__和__delete。只实现了__get__方法的对象称为非数据描述符,这类描述符只能读取对象属性;同时实现了__get__和__set__方法的对象是数据描述符,接下来定义一个描述符对象:class Example(object): """ 描述符 """ def __init__(self,name="django"): self.name=name def _

2021-11-27 16:54:21 598

原创 python-元类

Python中的类又比较特殊,类同样是对象.也就是说,类这个对象也是由类创建出来的,创建类的类被称为元类查看一下类的对象类型:class A(object): pass print(type(A))可以看到,类A的类型是type,也就是说type创建了类A。介绍type如何动态的创建一个类:A=type("A",(),{})""""A":类名(),继承的类元组{},类属性字典"""print(A)假如A带有一些属性class A(object): hello

2021-11-27 16:17:26 463

原创 python数据结构第5篇--搜索(草稿)

5.2 搜索5.2.1 顺序搜索def sequetialSearch(alist,item): index=0 found=False while index<len(alist) and not found: if alist[index]==item: found=True else: index=index+1 return found 对于无序列表,是比较次数为:

2021-11-27 13:43:31 703

原创 python 线程同步机制

线程同步即使用锁来避免多线程程序中对共享资源的竞争导致错误。例如下面经典的加一减一多线程操作value=0def op_without_lock(): global value for i in range(100000): value=value+1 value=value-1import threadingt1=threading.Thread(target=op_without_lock)t2=threading.Thread(ta

2021-11-25 11:23:43 602

原创 python-弱引用

Python中的弱引用Python的垃圾回收由引用计数、标记清理和分代回收等方式构成。其中大部分对象的生命周期都可以通过对象的引用计数来管理。查看对象引用计数的方式:引用计数存在着非常明显的缺陷:即无法处理循环引用的问题。例如:b,c虽然进行了删除,但是引用计数此时还是1,这两个内存没有被释放,造成内存泄露。为避免该问题,使用弱引用,弱引用不会增加引用计数。弱引用的函数定义weakref.ref(object[,callback])#callback 可选的回调函数,在引用对象被删除时调

2021-11-25 11:09:37 686

原创 Docker实践与原理第一篇(草稿)

Docker概览内容参考:《深入浅出Docker》人民邮电出版社容器发展之路走进dockerdocker安装docker速览

2021-11-17 11:46:22 463

原创 django第一篇

Django一般web开发的框架框架帮助开发者处理了协议、线程、进程等方面的问题,让开发者专注与业务逻辑Django的特点:Django是一个全栈Web框架功能完善、要素齐全。完善的文档强大的数据库访问API。Django的Model层自带数据库ORM组件,开发者无须学习其他数据库访问技术灵活的路由系统丰富的Template模板功能自带后台管理应用admin完整的错误信息提示MVC模式模型(Model):和数据库的交互模板(Template):将模型数据与HTML页面结合起来

2021-11-13 15:46:54 1131

原创 虚拟化、容器、和Docker,以及在机器学习上的应用

https://zhuanlan.zhihu.com/p/56698706

2021-11-11 09:48:19 1344

原创 前后端分离-跨域问题

参考链接:AJAX:https://zhuanlan.zhihu.com/p/33809782Web跨域问题https://zhuanlan.zhihu.com/p/53545472

2021-11-11 09:44:37 65

原创 2021-11-05

第7章 函数装饰器和闭包函数装饰器用于“标记”函数,以某种方式增强函数的行为。理解装饰前,必须先理解闭包本章思维导图:7.1Python如何计算装饰器句法@decoratedef target(): print("running target")等价于def target(): print("running target")target=decorate(target)#最终装饰器函数返回的不一定原来的target函数def deco(func): def i

2021-11-05 16:59:57 76

原创 流畅的python第八章--对象引用 可变性 垃圾回收

本章内容:对象引用 :引用式变量对象标识符,值,别名 可变性元组特性潜复制和深复制引用和函数参数垃圾回收删除对象弱引用提示:本章内容理解不清很可能出现不易发现的错误8.1 变量不是盒子#a是对象[1,2,3]的标识,或者说引用式变量 a=[1,2,3]#b也是对象[1,2,3]的标签,或者说别名b=a a.append(4)print(b)对引用式变量来说,说把变量分配给对象更合理8.2 标识、相等性和别名charles={"name":"Charles L

2021-11-05 15:32:19 374

原创 设计模式——策略模式

策略模式什么是策略模式?定义一系列算法,将每个算法都封装起来,并且使它们之间可以相互替换。策略模式使算法可以独立于使用它的用户而变化。策略模式的核心思想是:对算法、规则进行封装,使得替换算法和新增算法更加灵活。策略模式的模型抽象Context是一个上下文环境类,负责提供对外的接口,与用户交互,屏蔽上层对策略(算法)的直接访问,Strategy是策略(算法)的抽象类,定义统一的接口,如故事剧情中的 IVehicle。StrategyA 和 StrategyB 是具体策略的实现类当策略比较简单

2021-11-03 15:09:50 139

原创 流畅的python-第六章-一等函数实现设计模式

第6章 使用一等函数实现设计模式虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用。Gamma等人合著的《设计模式:可复用面向对象软件的基础》一书中有23个模式,其中有16个在动态语言中“不见了,或者简化了所用的语言决定了哪些模式可用在python这种动态编程语言里,一些设计模式的存在意义不大。python适合的设计模式有以下:List item23…有一些设计模式在python语言中可以重新设计例如: 策略 命令 模 板方法 访问者我们可以把这些模

2021-11-03 14:59:36 107

翻译 在keras 上实践,通过keras例子来理解lastm循环神经网络

本文是对这篇博文的翻译和实践: http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/阅读本文章以后,你将要知道:一)怎么在keras上实习一个普通的lstm循环神经网络。 二)在lstm中怎样小心的利用好时间状态特征 三)怎样在lstm上实现状态

2021-11-01 16:55:40 28702 10

原创 机器学习之降维方法总结

降维方法分为线性降维方法和非线性降维方法,看下表: 本文结构如下:线性降维方法 主成分分析法 线性判别法 奇异值分解法因子分析法 非线性降维方法~~流形学习简介说到维度,其目的是用来进行特征选择和特征提取,注意特征选择和特征提取这二者的不同之处: 特征选择:选择重要特征子集,删除其余特征。 特征提取:由原始特征形成较少的新特征。 在特征提取中,我们要找到k个新的维度的集合,这

2021-11-01 16:55:26 61344 2

原创 随机森林—bagging算法的代表作

随机森林 对于随机森林的理解看这篇博文 另外周志华《机器学习》8.3节对bagging和随机森林进行了比较好的总结。随机森林关键点: bagging方法,用重复采样的方式产生n个不同的样本集合,然后基于基分类器并行训练出n个模型,为了是降低模型的方差。 在bagging基础上,随机森林用决策树(不剪枝)做基分类器,对决策树的特征进行随机的采样,进一步的提高了模型抗过拟合能力。 随基分类器个

2021-11-01 16:54:29 1903

原创 ML机器学习基于树的家族

ML机器学习基于树的家族目录决策树模型与学习 特征选择 决策树的生成 决策树的剪枝 DBGT随机森林 – 1)决策树模型与学习 我们来谈一谈机器学习算法中的各种树形算法,包括ID3、C4.5、CART以及基于集成思想的树模型Random Forest和GBDT。本文对各类树形算法的基本思想进行了简单的介绍,重点谈一谈被称为是算法中的“战斗机”,机器学习中的“屠龙刀”的GBDT算法。

2021-11-01 16:54:02 896

原创 流程的python第五章

第三部分 把函数视作对象第5章 一等函数在Python中,函数是一等对象一等对象特点:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果5.1 把函数视作对象例5.1def factorial(n): """n!""" return 1 if n<2 else n*factorial(n-1)print(42)print(factorial.__doc__)#__doc__是函数对象众多属性中的一个print(

2021-11-01 16:48:12 91

原创 排序算法第三篇--(计数排序、基数排序、桶排序)

#前面所讲述的算法皆为比较排序算法#在最坏情况下的最优排序效率为O(nlogn)#如何超越比较排序的效率?#4.1 基于排序的规则#一个简单例子‘’’每一个排序关键字是1或者是2的数组如何排序‘’’#思想:统计1出现的次数和2出现的次数#假定为1出现的次数为k,择2出现的次数为n-k#将填充到前k个位置,2填充到n-k的位置A=[1,2,1,1,1,2,2]def simple_sort(A): n=len(A) k=0 for i in range(n):

2021-11-01 15:49:53 107

原创 排序算法第二篇-快速排序及其优化算法

快速排序快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。步骤为:挑选基准值:从数列中挑出一个元素,称为"基准"(pivot);分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成;递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。递归到最底部的判断条件是数列的大小

2021-10-31 08:27:27 83

原创 流畅的python第三篇-字典及集合的使用及底层实现

https://www.jianshu.com/p/68db5cff4872

2021-10-30 16:28:15 47

原创 Redis第二篇-字典和有序集合的的底层

第4章 字典哈希表介绍https://zhuanlan.zhihu.com/p/95156642Redis字典的底层介绍思维导图第五章跳跃表思维导图python字典的底层实现https://zhuanlan.zhihu.com/p/74003719

2021-10-27 16:43:32 67

原创 2021-10-27

第二部分 数据结构第2章 序列构成的数组2.1 内置序列类型概览Python标准库用C实现了丰富的序列类型,列举如下容器序列-可存放不同数据类型list、tuple和collections.deque扁平序列-存放一种数据类型str、bytes、bytearray、memoryview和array.array扁平序列其实是一段连续的内存空间但只能存放诸如字符、字节和数值这种基础类型。可变序列list、bytearray、array.array、collections.deque和mem

2021-10-27 16:27:02 136

空空如也

空空如也

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

TA关注的人

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