摘要:
python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' datetime_module = importlib.import_module(modname) pri 阅读全文
摘要:
首先是一个views函数的例子 def get_user_profiles(request): if request.method == 'POST': myFile = request.FILES.get("filename", None) if myFile: dir = os.path.joi 阅读全文
摘要:
Django中间件的使用 中间件(middleware) 中间件应用于request与服务端之间和服务端与response之间,客户端发起请求到服务端接收可以通过中间件,服务端返回响应与客户端接收响应可以通过中间件,也就是说中间件可以处理request和response。 Django默认的中间件 阅读全文
摘要:
一等对象 什么是一等对象: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 python中的字符串,列表什么的都是一等对象,但对如果之前只是使用c++、java语言的人们来说python中的函数也是一等对象,那一定会有一点不可思议 接下来就介绍一下这个一等对 阅读全文
摘要:
2-3-4树 首先2-3-4树为什么要叫做2-3-4树因为这棵树除了叶子节点,所有的节点都只有2个孩子或3个孩子或4个孩子。这里所说的叶子结点我们当前默认全是空节点,就类似树的原来的叶子节点的孩子都是空节点,叫这些空节点叶子结点。就像这样: 说节点都只有2个孩子或3个孩子或4个孩子,说明节点有3种, 阅读全文
摘要:
前言 上一篇文章讨论的二叉搜索树,其时间复杂度最好的情况下是O(log(n)),但是最坏的情况是O(n),什么时候是O(n)呢? 像这样: 如果先插入10,再插入20,再插入30,再插入40就会成上边这个样子 这个就像是双向链表,我们期望它是下面这个样子: 所以我们希望有一种策略能够将第一个图变成第 阅读全文
摘要:
二叉搜索树 二叉搜索树是一种特殊的二叉树,它的特点是: 对于任意一个节点p,存储在p的左子树的中的所有节点中的值都小于p中的值 对于任意一个节点p,存储在p的右子树的中的所有节点中的值都大于p中的值 一个图例: 基于二叉搜索树的这种关系,我们可以用它来实现有序映射 遍历二叉搜索树 基于二叉搜索树的特 阅读全文
摘要:
映射与字典 字典dict是Python中重要的数据结构,在字典中,每一个键都对应一个值,其中键与值的关系就叫做映射,也可以说是每一个键都映射到一个值上。 映射(map)是更具一般性的数据类型,具体到Python中就是字典。 一个简单实现 在使用字典的同时我们一定会有一个疑问,它是怎样通过键去映射到值 阅读全文
摘要:
优先级队列 如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列 这种数据结构 最简单的优先级队列可能就是一堆不同大小的数组成的队列,每次需要取出其中最小或最大的数,这 阅读全文
摘要:
树 树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点,或称为树根。 相关概念 根节点:树中最顶部的元素 父 阅读全文
摘要:
链表 链表与栈,队列不一样,它是由一个个节点构成的,每个节点存储着本身的一些信息,也存储着其他一个或多个节点的引用,可以从一个节点找到其他的节点,节点与节点之间就像是有链连在一起一样,这种数据结构就叫做链表 单向链表 单向链表是链表的最简单形式,链表的第一个节点叫做头结点,最后一个节点叫做尾节点,每 阅读全文
摘要:
队列 队列与栈的类型很相似,但它遵循的原则是先进先出(FIFO),也就是元素插入的时候只能在该数据结构的末端,而删除只能删除最前面的元素。队列同样应用广泛,例如打印机的队列或者是一个web服务器响应请求。 Python实现 关于队列的方法 作为一个队列,同样要满足一下几个方法: Q.enqueue( 阅读全文
摘要:
栈 栈是最简单的数据结构,也是最重要的数据结构。它的原则就是后进先出(LIFO),栈被使用于非常多的地方,例如浏览器中的后退按钮,文本编辑器中的撤销机制,接下来我们用Python来具体实现这个数据结构。 Python实现 栈中的方法 作为一个栈(用S来表示),最基本的方法有下面几个: S.push( 阅读全文
摘要:
递归 一个函数在执行过程中一次或多次调用其本身便是递归,就像是俄罗斯套娃一样,一个娃娃里包含另一个娃娃。 递归其实是程序设计语言学习过程中很快就会接触到的东西,但有关递归的理解可能还会有一些遗漏,下面对此方面进行更加深入的理解 递归的分类 这里根据递归调用的数量分为线性递归、二路递归与多重递归 线性 阅读全文
摘要:
一.安装MongoDB 因为我个人使用的是windows,就只记录下windows下的安装 1.下载安装 就是官网,下载msi,选个路径安装 2.配置 看见别的地方说需要手动在bin同级目录创建data和log文件夹,我安装时它们是自动生成的在data文件夹中建个专门存数据的文件夹db,在log文件 阅读全文