11 2017 档案

摘要:mongo host/dbname -u username -p password 阅读全文
posted @ 2017-11-27 18:02 mlj0503 阅读(167) 评论(0) 推荐(0) 编辑
摘要:>>> a="[1,2]" >>> type(a) >>> a '[1,2]' >>> b=eval(a) >>> b [1, 2] >>> type(b) >>> a="[1,221]" >>> b=eval(a) >>> b [1, 221] >>> c=list(a) >>> c ['[', '1', &# 阅读全文
posted @ 2017-11-27 14:52 mlj0503 阅读(137) 评论(0) 推荐(0) 编辑
摘要:搜索 搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半 阅读全文
posted @ 2017-11-12 22:59 mlj0503 阅读(168) 评论(0) 推荐(0) 编辑
摘要:快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序 阅读全文
posted @ 2017-11-12 22:06 mlj0503 阅读(161) 评论(0) 推荐(0) 编辑
摘要:插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 时间复杂度 最优时间复杂度:O( 阅读全文
posted @ 2017-11-12 18:31 mlj0503 阅读(136) 评论(0) 推荐(0) 编辑
摘要:选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有 阅读全文
posted @ 2017-11-12 15:09 mlj0503 阅读(178) 评论(0) 推荐(0) 编辑
摘要:冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的 阅读全文
posted @ 2017-11-12 14:08 mlj0503 阅读(141) 评论(0) 推荐(0) 编辑
摘要:测试功能实现结果和预期结果之间的差距 本质是断言代码, assert函数 python中unittest模块 单元测试的书写: 1、自定义测试类, 要继承unittest.TestCase 2、必须有setUp()方法, 会被首先执行,生成测试代码的配置信息 3、必须有tearDown()方法, 会 阅读全文
posted @ 2017-11-12 11:54 mlj0503 阅读(166) 评论(0) 推荐(0) 编辑
摘要:数据是一个抽象的概念,将其进行分类后得到程序设计语言中的基本类型。如:int,float,char等。数据元素之间不是独立的,存在特定的关系,这些关系便是结构。数据结构指数据对象中数据元素之间的关系。 算法与数据结构的区别 数据结构只是静态的描述了数据元素之间的关系。 高效的程序需要在数据结构的基础 阅读全文
posted @ 2017-11-12 11:46 mlj0503 阅读(600) 评论(0) 推荐(0) 编辑
摘要:web项目反扒设置 阅读全文
posted @ 2017-11-11 22:31 mlj0503 阅读(330) 评论(0) 推荐(0) 编辑
摘要:时间复杂度与“大O记法” 时间复杂度:假设存在函数g,使得算法A处理规模为n的问题示例所用时间为T(n)=O(g(n)),则称O(g(n))为算法A的渐近时间复杂度,简称时间复杂度,记为T(n) 最坏时间复杂度 算法完成工作最少需要多少基本操作,即最优时间复杂度 算法完成工作最多需要多少基本操作,即 阅读全文
posted @ 2017-11-10 15:58 mlj0503 阅读(160) 评论(0) 推荐(0) 编辑
摘要:import 模块名 模块名没有使用字符串的原因是,被赋值给一个同名的变量,利用变量导入模块 用途: 在自己写的代码中调用自己的包,可以用 __import__ 导入 一个对象是否可以调用的判断方法, callable(对象名) ,可以调用返回true, 否则返回 false 被本身默认为不可调用对 阅读全文
posted @ 2017-11-09 17:41 mlj0503 阅读(390) 评论(0) 推荐(0) 编辑
摘要:缓存雪崩 缓存雪崩是由于原有缓存失效(过期),新缓存未到期间。所有请求都去查询数据库,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 (1) 碰到这种情况,一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。 (2) 加锁排队只是为了减轻 阅读全文
posted @ 2017-11-09 16:10 mlj0503 阅读(444) 评论(0) 推荐(0) 编辑
摘要:转自:https://www.biaodianfu.com/cgi-fastcgi-wsgi.html( 网关协议学习:CGI、FastCGI、WSGI ) CGI CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是 阅读全文
posted @ 2017-11-09 15:49 mlj0503 阅读(324) 评论(0) 推荐(0) 编辑
摘要:TCP特点 1. 面向连接 通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。 双方间的数据传输都可以通过这一个连接进行。 完成数据交换后,双方必须断开此连接,以释放系统资源。 这种连接是一对一的,不适用于广播的应用程序,基于广播的应 阅读全文
posted @ 2017-11-08 15:07 mlj0503 阅读(179) 评论(0) 推荐(0) 编辑
摘要:进程VS线程 功能 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口 定义的不同 进程是系统进行资源分配最小单元. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源 阅读全文
posted @ 2017-11-08 11:48 mlj0503 阅读(1287) 评论(0) 推荐(1) 编辑
摘要:进程池Pool 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 初始化Pool时,可以指定一个最大进程数,当有新 阅读全文
posted @ 2017-11-08 11:13 mlj0503 阅读(151) 评论(0) 推荐(0) 编辑
摘要:1. 进程 VS 程序 编写完毕的代码,在没有运行的时候,称之为程序 正在运行着的代码,就成为进程 进程,除了包含代码以外,还有需要运行的环境等,所以和程序是有区别的 进程是系统分配资源的最小单位。 创建进程是一种资源分配,当子进程被父进程创建后,在其执行完成结束后,应当由父进程及时回收。 2. 孤 阅读全文
posted @ 2017-11-07 23:16 mlj0503 阅读(233) 评论(0) 推荐(0) 编辑
摘要:python采用的是引用计数机制为主,分代收集机制为辅的策略 1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。 Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 P 阅读全文
posted @ 2017-11-07 20:10 mlj0503 阅读(327) 评论(0) 推荐(0) 编辑
摘要:利用私有属性 定义一个property属性 使用@property 阅读全文
posted @ 2017-11-07 18:05 mlj0503 阅读(548) 评论(0) 推荐(0) 编辑
摘要:Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。 ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较:>>> a = 'iplaypython.com'>>> 阅读全文
posted @ 2017-11-07 11:50 mlj0503 阅读(183) 评论(0) 推荐(0) 编辑
摘要:import os 结果实例: 阅读全文
posted @ 2017-11-07 10:37 mlj0503 阅读(474) 评论(0) 推荐(0) 编辑
摘要:闭包概念 闭包优缺点 python3 内部函数改变外部参数值 python2 中要想在闭包中改变参数的值,要借助于可变类型的列表,将参数放在列表的中,对列表内部元素执行改变操作 阅读全文
posted @ 2017-11-06 21:36 mlj0503 阅读(142) 评论(0) 推荐(0) 编辑
摘要:生成器 是一类特殊的迭代器,它是可以自己记录当前迭代对象的迭代器,可以配合next()方法使用 创建生成器的方法: 将列表生成[] 改为() In [18]: G = (x**2 for x in range(5)) In [20]: for x in G: ...: print(x) ...:01 阅读全文
posted @ 2017-11-06 20:50 mlj0503 阅读(143) 评论(0) 推荐(0) 编辑
摘要:迭代器的概念: 迭代是访问元素的一种方式。迭代器是一个可以集中遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有元素被访问结束。迭代器只能往前不能往后 可迭代对象: 可以通过for ...in .... 这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(itrable) 判断方法 阅读全文
posted @ 2017-11-06 18:18 mlj0503 阅读(160) 评论(0) 推荐(0) 编辑
摘要:用户登录 (1) 显示登录页面 url 视图函数名 模板文件 父模板文件 /user/login/ login login.html base.html (2) 用户登录的前端js校验。 用户名和密码不可为空。 $(function(){ var error_name = false; var er 阅读全文
posted @ 2017-11-05 23:00 mlj0503 阅读(920) 评论(0) 推荐(0) 编辑
摘要:浅拷贝是对于一个对象的顶层拷贝 通俗的理解是:拷贝了引用,并没有拷贝内容 深拷贝 copy.deepcopy 深拷贝是对于一个对象所有层次的拷贝(递归) 阅读全文
posted @ 2017-11-05 22:07 mlj0503 阅读(241) 评论(0) 推荐(0) 编辑
摘要:请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....] In [29]: a=[x for x in range(1,101)] In [30]: b=[a[x:x+3] for x in range(0, 阅读全文
posted @ 2017-11-05 17:06 mlj0503 阅读(4673) 评论(0) 推荐(0) 编辑
摘要:类属性,实例属性 如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。 如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性,不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,实例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属性。 类方法,实 阅读全文
posted @ 2017-11-05 15:35 mlj0503 阅读(417) 评论(0) 推荐(0) 编辑
摘要:私有属性、方法——Python并没有真正的私有化支持,但可用下划线得到伪私有尽量避免定义以下划线开头的变量 (1)_xxx "单下划线 " 开始的成员变量叫做保护变量,意思是只有类对象(即类实例)和子类对象自己能访问到这些变量,需通过类提供的接口进行访问;不能用'from module import 阅读全文
posted @ 2017-11-05 13:40 mlj0503 阅读(15736) 评论(1) 推荐(1) 编辑
摘要:修改、添加、删除 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素,如果这个键存在,就是修改 删除 del clear() <1>len() 测量字典中,键值对的个数 <2>keys 返回一个包含字典所有KEY的列表 dict.keys() <3>valu 阅读全文
posted @ 2017-11-02 22:35 mlj0503 阅读(152) 评论(0) 推荐(0) 编辑
摘要:字典的访问方式: 根据键访问值 info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'} print(info['name']) print(info['address']) 若访问不存在的键,则会报错: 在我们不确定字典中是否存 阅读全文
posted @ 2017-11-02 22:21 mlj0503 阅读(894) 评论(0) 推荐(0) 编辑
摘要:列表的相关操作 列表中存放的数据是可以进行修改的,比如"增"、"删"、"改"" <1>添加元素("增"append, extend, insert) append 通过append可以向列表添加元素 extend 通过extend可以将另一个集合中的元素逐一添加到列表中 insert insert( 阅读全文
posted @ 2017-11-02 22:05 mlj0503 阅读(173) 评论(0) 推荐(0) 编辑
摘要:切片:对操作的对象截取其中一部分的操作。字符串、列表、元组支持切片操作 切片语法:【起始:结束:步长】 注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。 <1>find 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 < 阅读全文
posted @ 2017-11-02 21:48 mlj0503 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-11-02 21:11 mlj0503 阅读(105) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示