10 2018 档案
摘要:1、#转化为通过三边计算三角形面积 2、#通过三点直接求面积
阅读全文
摘要:1.直接创建,冒号隔开 mydict = {‘key’:’value’…} 2.=连接键值对 mydict = dict(key1=value1,key2=value2…) 3. 创建一个空的,慢慢赋值 mydict={} mydict[key1]=value1 mydict[key2]=value
阅读全文
摘要:>>>a=10.0>>>b=10.0>>>a is bFalse为什么当a=10,b=10时,a is b输出的是True呢? >>>a=10.0 >>>b=10.0>>>a is bFalse为什么当a=10,b=10时,a is b 输出的是True呢? a is b 比较的是变量a与变量b的内
阅读全文
摘要:1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。2. copy.deepcopy 深拷贝 拷贝对象及其子对象一个很好的例子: 输出结果:a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]b = [1, 2, 3, 4, ['a', 'b', 'c']
阅读全文
摘要:见:https://www.cnblogs.com/Liqiongyu/p/5916710.html
阅读全文
摘要:python 字符串替换可以用2种方法实现:1是用字符串本身的方法。2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'把a字符串里的word替换为python 1、用字符串本身的replace方法 输出的结果是hello python 2、用正则表达式来完成替换 输出的结果
阅读全文
摘要:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 索引优点: 创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因
阅读全文
摘要:本节内容 引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上
阅读全文
摘要:1.栈结构,其实就是一个后进先出的一个线性表,只能在栈顶压入或弹出元素。用列表表示栈,则向栈中压入元素,可以用列表的append()方法来实现,弹出栈顶元素可以用列表的pop()方法实现。 2.队列,其实就是一个先进先出的线性表,只能在队首执行删除操作,在队尾执行插入操作。用列表表示队列,可以用ap
阅读全文
摘要:数据结构与算法(Python) 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交
阅读全文
摘要:view.py中 import MySQL
阅读全文
摘要:1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前服务器IP或*,如: 然后将源码上传至服务器指定目录,如:/data/ ,然后执行命令来运行: 注: 上传命令: scp /Users/wupeiqi/PycharmProjects/oldboy-
阅读全文
摘要:一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识 示例:从Git 版本库的初始化,通常有两种方式: 1)git clone:这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份 例如:git clone
阅读全文
摘要:#文件及文件夹创建删除 mkdir 文件名称 (创建文件夹) touch 文件名称 (创建文件) rm -r 文件名称 (递归删除) rm -rf 文件名称 (删除文件夹内的所有 无提示) rmdir 文件名称 (删除文件夹) #查看.搜索.历史 ls -a 查看所有 (包括隐藏目录) ls -l
阅读全文
摘要:消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 1.串行的方式;2.
阅读全文
摘要:cookie 和session 的区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比
阅读全文
摘要:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。 它主要用于客户端和服务器交互类的软件。 基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制
阅读全文
摘要:Django:Python 界最全能的 web 开发框架,battery-include 各种功能完备,可维护性和开发速度一级棒。常有人说 Django 慢,其实主要慢在 Django ORM 与数据库的交互上,所以是否选用 Django,取决于项目对数据库交互的要求以及各种优化。而对于 Djang
阅读全文
摘要:redis我们用作缓存,对查询速度要求比较高的应用场景比较适合。对有复杂逻辑关系的存储不适合。 mysql是硬盘存储的,在高性能io要求的项目里不能满足需求,而redis所有数据存在内存里,因此要快得多。硬盘的io和内存的io差几个数量级的。
阅读全文
摘要:定义:在一个内部函数里, 对在外部作用域(但不是在全局作用域) 的变量进行引用, 那么内部函数就被认为是闭包(closure)。 闭包的作用: 保存函数的状态信息,使函数的局部变量信息依然可以保存下来。装饰器的本质也是闭包。 例子:
阅读全文
摘要:定义:纤程,微线程。本质上只是一个线程在运行。 功能特点: 通过应用层程序,记录上下文栈区,实现在程序执行过程中的跳跃执行。由此可以选择不阻塞的部分执行提升运行效率 优点: 1、资源消耗少; 2、无需多线程那样进行多核之间的切换; 3、无需同步互斥操作; 4、IO并发性好。 缺点:无法利用计算的多核
阅读全文
摘要:单例模式:是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。 单例模式的要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行 向整个系统提供这个实例。 单例模式的作用:一是,解决多线程并发访问的问题。二是节约系统内存,提交系统运行的效率,提高系统性能。
阅读全文
摘要:一、lambda函数的语法 lambda语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值。lambda语句构建的其实是一个函数对象。 1》无参数: 2》有参数,无默认值 3》有参数,有默认值
阅读全文
摘要:方法1:使用set函数 s=set(list),然后再list(s) 方法2:append 方法3:count,remove
阅读全文
摘要:list转为tuple: temp_list = [1,2,3,4,5] 将temp_list进行强制转换:tuple(temp_list) 查看是否转换成功:print type(temp_list) tuple 转为list: temp_tuple = (1,2,3) 方法类似,也是进行强制转换
阅读全文
摘要:1、引用计数:python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。2、垃圾回收:当内存中有不再使用的部分时,垃圾收集器就会把他们清理掉。它会去检查那些引
阅读全文
摘要:二分法查找: 算法:二分法查找适用于数据量较大时,但是数据需要先排好顺序。主要思想是:(设查找的数组区间为array[low, high]) (1)确定该区间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.arr
阅读全文
摘要:操作系统命令的组合称为Shell脚本: 一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。 也包括变量,计算,循环语句、判断语句、函数等
阅读全文
摘要:越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对
阅读全文
摘要:缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非
阅读全文
摘要:Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache是Web服务器而Tomcat是Java应用服务器。 Apache:是C语言实现的,专门用来提供HTTP服务。 特性:简单、速度快、性能稳定、可配置(代理)
阅读全文
摘要:python 提供了2种方法解决该问题的问题:1,悲观锁;2,乐观锁 悲观锁:在查询商品储存的时候加锁 select_for_update() 在发生事务的commit或者是事务的rollback时,自动释放该锁,这样其他用户就可以接着查询该商品。 乐观锁:乐观锁不是真正的锁,在创建订单之前查询商品
阅读全文
摘要:ps 命令用于查看当前正在运行的进程 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 -e 显示所有进程,环境变量 此参数的效果和指定"A"参数相同。a 显示终端上地所有进程,包括其他用户地进程-A 显示所有程序。c 列出程序时,显示每个程序真正的指令
阅读全文
摘要:1NF:所有字段都是不可分割的 2NF:必须满足第一范式,所有行必须有一个主键,非主键字段都要依赖与主键字段 3NF:必须满足第二范式,非主键字段只依赖主键字段,而不依赖于其它非主键字段
阅读全文
摘要:django中请求处理方式有2种:FBV 和 CBV 一、FBV FBV(function base views) 就是在视图里使用函数处理请求。 看代码: urls.py views.py 注意此处定义的是函数【def index(req):】 index.html 上面就是FBV的使用。 二、C
阅读全文
摘要:MVT Django是一款python的web开发框架 与MVC有所不同,属于MVT框架 m表示model,负责与数据库交互 v表示view,是核心,负责接收请求、获取数据、返回结果(相当于mvc的c) t表示template,负责呈现内容到浏览器 MVC 大部分开发语言中都有MVC框架 MVC框架
阅读全文
摘要:1、循环服务器模型:循环处理客户端,处理完一个继续处理下一个。 缺点:不能同时处理多个请求,不允许某个客户端长期占用服务器资源 udp是不需要进行连接的,所以循环服务器模型更加适合udp通信。 2、并发服务器模型:每有一个客户端就创建一个进程/线程处理客户端的具体请求,而主进程/线程继续接收其他客户
阅读全文
摘要:TCP:面向连接的可靠传输 tcp规定了:传输服务必须建立连接 传输结束必须断开连接 传输数据必须保证可靠 数据的可靠性:无重复、无丢失、无失序、无差错。 建立连接(三次握手): 1、客户端向服务端器发送连接请求 2、服务器端接收到请求后告知客户端可以连接 3、客户端再次告知服务器已经收到回复,下面
阅读全文
摘要:1、应用层:提供用户服务,例如处理应用程序,文件传输,数据管理 (HTTP、RTSP、FTP) 2、表示层:做数据的转换和压缩,加解密等 3、会话层:决定了进程间的连接建立,选择使用什么样的传输层协议 4、传输层:建立网络连接,提供合适的连接传输服务,提供流量控制 (tcp/udp协议) 5、网络层
阅读全文
摘要:高内聚:在同一模块内实现单一功能,尽量不使功能混杂 低耦合:不同模块之间尽量相互独立,减少模块间的影响。
阅读全文
摘要:1、进程和线程都是多任务编程方式,都可以利用计算机的多核; 2、多进程的创建和销毁要比多线程消耗更多资源; 3、多进程空间独立数据更安全,有专门的进程间通信方式进行交互; 4、一个进程包含多个线程,所以线程共享进程资源。线程没有专门的通信方式,依赖于全局变量进行通信,往往需要使用同步互斥机制; 5、
阅读全文
摘要:进程同步:进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的多个进程之间的协调调用次序等,传递消息告知资源占用情况。进程间的直接制约关系来源于他们之间的合作。 进程同步机制应遵循的准则: a)空闲让进:当临界资源处于空闲状态时,允许相应的进程立即进入自己的临界区 b)忙则等待:当已有进程进
阅读全文
摘要:1.无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 2.高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。 3.有名管道
阅读全文
摘要:描述 super() 函数是用于调用父类(超类)的一个方法。 super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。 MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。
阅读全文
摘要:HTTP协议: HTTP (hypertext transport protocol) , 即 超 文 本 传 输 协 议 。 这 个 协 议 详 细 规 定 了 浏 览 器 和 万 维 网 服 务 器 之 间 互 相 通 信 的 规 则 。 HTTP就是 , 通 信 规 则 , 通 信 规 则 规
阅读全文
摘要:本节内容 为什么要用版本控制? 假设你在的公司要上线一个新功能,你们开发团队为实现这个新功能,写了大约5000行代码,上线没2天,就发现这个功能用户并不喜欢,你老板让你去掉这个功能,你怎么办?你说简单,直接把5000行代码去掉就行了,但是我的亲,说的简单,你的这个功能写了3周时间,但你还能记得你是新
阅读全文
摘要:MongoDB 和 Redis 都是 NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别, 这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。MongoDB 建议集群部署,更多 的考虑到集群方案,Redis 更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。 Redis
阅读全文
摘要:1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执 行。 2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相 一致。 3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对
阅读全文
摘要:储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结 构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存 储过程通常有以下优点:
阅读全文
摘要:白盒测试:是通过程序的源代码进行测试而不使用用户界面。 ※ 白盒测试的优点有: 1)帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 ※ 白盒测试的缺点有: 2)程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人 员做的对不对,而不能知道设计的
阅读全文
摘要:Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了一个高效的 I/O 事件循环,后 者则封装了 一个无阻塞的 socket 。通过向 ioloop 中添加网络 I/O 事件,利用无阻塞的 socket , 再搭配相应的回调函数,便可达到梦寐以求的高效异步执行。
阅读全文
摘要:HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。 HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 H
阅读全文
摘要:django:主要是用来搞快速开发的,他的亮点就是快速开发,节约成本,正常的并发量不过 10000,如果要实现高并发的话,就要对 django 进行二次开发,比如把整个笨重的框架给拆掉,自己写 socket实现 http 的通信,底层用纯 c,c++写提升效率,ORM 框架给干掉,自己编写封装与数据
阅读全文
摘要:1.设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能; 2.使用缓存,减少对数据库的访问; 3.在 orm 框架下设置表时,能用 varchar 确定字段长度时,就别用 text; 4.可以给搜索频率高的字段属性,在定义时创建索引; 6.如果一个页面需要多次连接数据库,最好一次性取出所有需
阅读全文
摘要:1.uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。Nginx 中HttpUwsgiModule 的作用是与 uWSGI 服务器进行交换。WSGI 是一种 Web 服务器网关接口。它是一个 Web 服务器(如 nginx,uWSGI 等服务器)与 web
阅读全文
摘要:django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件
阅读全文
摘要:请求钩子是通过装饰器的形式实现的,支持以下四种:1,before_first_request 在处理第一个请求前运行2,before_request:在每次请求前运行3,after_request:如果没有未处理的异常抛出,在每次请求后运行4,teardown_request:即使有未处理的异常抛出
阅读全文
摘要:IP: 网络层TCP/UDP: 传输层HTTP、RTSP、FTP: 应用层协议
阅读全文
摘要:HTTP 协议传输的数据都是未加密的,也就是明文的,因此使用 HTTP 协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了 SSL(Secure Sockets Layer)协议用于对 HTTP 协议传输的数据进行加密,从而就诞生了 HTTPS。简单来说,HTTPS 协议
阅读全文
摘要:hasattr(object, name)函数: 判断一个对象里面是否有name属性或者name方法,返回bool值,有name属性(方法)返回True,否则返回False。 **注意:name要使用引号括起来。 getattr(object, name[,default]) 函数: 获取对象obj
阅读全文
摘要:①从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。 reduce()函数: reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参
阅读全文
摘要:A、B 中相同元素:print(set(A)&set(B)) A、B 中不同元素:print(set(A)^set(B))
阅读全文
摘要:一.http协议的定义: http(Hypertext transfer protocol)超文本传输协议,通过浏览器和服务器进行数据交互,进行超文本(文本、图片、视频等)传输的规定。也就是说,http协议规定了超文本传输所要遵守的规则。 二.HTTP协议的特点: 1.HTTP协议是无状态的 就是说
阅读全文
摘要:两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器, 前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间, 所以当列表很长时,使用xrange性能要比range好。
阅读全文
摘要:原因: 竞争资源 程序推进顺序不当 必要条件: 互斥条件 请求和保持条件 不剥夺条件 环路等待条件 处理死锁基本方法: 1.预防死锁(摒弃除 1 以外的条件) 2. 避免死锁(银行家算法) 3.检测死锁(资源分配图) 4.解除死锁 5.剥夺资源 6.撤销进程 7.数据库
阅读全文
摘要:先来先服务(FCFS, First Come First Serve) 短作业优先(SJF, Shortest Job First) 最高优先权调度(Priority Scheduling) 时间片轮转(RR, Round Robin)
阅读全文
摘要:其实所有的 I/O 都是轮询的方法,只不过实现的层面不同罢了. 其中 tornado 使用的就是 epoll 的. selec,poll 和 epoll 区别总结 基本上 select 有 3 个缺点: 1.连接数受限 2.查找配对速度慢 3.数据由内核拷贝到用户态 poll 改善了第一个缺点 ep
阅读全文
摘要:python 是一门非常简单易学好用,同时功能强大的编程语言,具有丰富和强大的库,开发效率特别高。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。 python 是一门的面向对象的解释型编程语言,Python语法简洁清晰优雅,特色之一是强制用空白符(whi
阅读全文
摘要:1、AOP概念:面向切面编程,指扩展功能不修改源代码,将功能代码从业务逻辑代码中分离出来。 主要功能:日志记录,性能统计,安全控制,事务处理,异常处理等等。 主要意图:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指
阅读全文
摘要:同步:多个任务之间有先后顺序执行,一个执行完下个才能执行。 异步:多个任务之间没有先后顺序,可以同时执行有时候一个任务可能要在必要的时候获取另一个同时执行的任务的结果,这个就叫回调! 阻塞:如果卡住了调用者,调用者不能继续往下执行,就是说调用者阻塞了。 非阻塞:如果不会卡住,可以继续执行,就是说非阻
阅读全文
摘要:这个问题被问的概率相当之大,其实多线程,多进程,在实际开发中用到的很少,除非是那些对项目性能要求特别高的,有的开发工作几年了,也确实没用过,你可以这么回答,给他扯扯什么是进程,线程(cpython中是伪多线程)的概念就行,实在不行你就说你之前写过下载文件时,用过多线程技术,或者业余时间用过多线程写爬
阅读全文
摘要:进程:程序运行在操作系统上的一个实例,就称之为进程。进程需要相应的系统资源:内存、时间片、pid。 创建进程: 1.首先要导入multiprocessing中的Process; 2.创建一个Process对象; 3.创建Process对象时,可以传递参数; 1.p = Process(target=
阅读全文
摘要:就是可以给你的类增加魔力的特殊方法,如果你的对象实现 (重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 __init__ 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。 __n
阅读全文
摘要:1、使用多进程,充分利用机器的多核性能 2、对于性能影响较大的部分代码,可以使用C或C++编写 3、对于IO阻塞造成的性能影响,可以使用IO多路复用来解决 4、尽量使用Python的内建函数 5、尽量使用局部变量
阅读全文
摘要:计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序。 一、翻译和解释的不同 翻译的方式有两种,一个是编译,一个是解释。 两种方式只是翻译的时间不同。编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻...
阅读全文
摘要:数据结构是以某种形式将数据组织在一起的集合,不仅存储数据, 还支持访问和处理数据的操作. 基础的数据结构有:线性表(数组,链表),栈与队列,树与二叉树,图等 1. 冒泡 冒泡排序的思想: 每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置。 快速排序使用分治法策略来把一个序列分为两个子序列
阅读全文
摘要:迭代器(iterator)是一个实现了迭代器协议的对象,python的一些内置数据类型(列表,数组,字符串,字典等)都可以通过for语句进行迭代,我们也可以自己创建一个容器,实现了迭代器协议,可以通过for,next方法进行迭代,在迭代的末尾,会引发stopIteration异常。 本文来自 xio
阅读全文

浙公网安备 33010602011771号