目录├─第1节数据结构和算法基础│├─01.算法引入││1-算法引入│││├─02.时间复杂度和大O表示法││01-时间复杂度与大O表示法││02-最坏时间复杂度与计算规则││03-常见时间复杂度与大小关系│││├─03.Python列表和字典││01-代码执行时间测量模块timeit││02-Python列表类型不同操作的时间效率││03-Python列表与字典操作的时间复杂度│││└─04.数据结构引入│01-数据结构引入│├─第2节顺序表│├─01.
系统 2019-09-27 17:55:12 1946
email示例:#-*-coding:utf-8-*-fromemail.mime.textimportMIMETextfromemail.utilsimportformataddrfromemail.mime.applicationimportMIMEApplicationfromemail.mime.multipartimportMIMEMultipartimportsmtplib#发邮件人邮箱账号my_mail='liujun@021.com'#pa
系统 2019-09-27 17:54:17 1946
说明:python环境搭建一共包含两部分--python解释器安装、python编辑器安装python解释器安装参考链接:Python3环境搭建python编辑器安装--pycharm参考链接:PyCharm安装教程(Windows)pip安装与使用参考链接:Pythonpip安装与使用--包含pip使用的常见命令注:在安装package时,如果提示pip非最新版本,且使用命令pipinstall-Upip不奏效,使用如下命令:pipinstall--us
系统 2019-09-27 17:53:56 1946
由于电脑上安装了多个版本的pip,以及不同的pip对应不同的python,因此有时候使用pipinstall安装某个包时,可能会没有安装在想要的位置。具体而言,在我电脑上,运行pip--version时,输出如下pip9.0.1from/opt/anaconda3/lib/python3.6/site-packages(python3.6)运行sudopip--version时,输出如下pip18.0from/usr/local/lib/python3.5
系统 2019-09-27 17:53:40 1946
test.pyfromflaskimportFlask,gfromflask_restfulimportreqparse,Api,Resourcefromflask_httpauthimportHTTPTokenAuth#Flask相关变量声明app=Flask(__name__)api=Api(app)#RESTfulAPI的参数解析--put/post参数解析parser_put=reqparse.RequestParser()parser_put.a
系统 2019-09-27 17:51:12 1946
全文共2955字,预计学习时长6分钟今天本文将介绍“Gridstudio”——一个基于网络的电子表格应用程序,集Python编程语言之大成。用Gridstudio着手解决的主要问题是散乱的工作流,这是进行数据科学项目,在例如Rstudio和Excel等多个工具间来回操作时所经历的。无数次导出CSV文件,行数过高导致应用程序窗口冻结,或是想要直截了当地做一些事(比如阅读一个JSON文件)……很多人都受够这些了。现存的工具无法提供高效产出的环境和相关的工作流。
系统 2019-09-27 17:51:04 1946
logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了pyth
系统 2019-09-27 17:50:05 1946
用于逐行分析文本的代码示例fileIN=open(sys.argv[1],"r")line=fileIN.readline()whileline:[somebitofanalysishere]line=fileIN.readline()此代码将第一个命令行参数作为要处理的文件的名称。第一行打开它并启动一个文件对象“fileIN”。然后第二行读取该文件对象的第一行并将其分配给字符串变量“line”。while循环基于“line”的恒定性执行。当“line”改
系统 2019-09-27 17:49:59 1946
简单生成器有许多优点。生成器除了能够用更自然的方法表达一类问题的流程之外,还极大地改善了许多效率不足之处。在Python中,函数调用代价不菲;除其它因素外,还要花一段时间解决函数参数列表(除了其它的事情外,还要分析位置参数和缺省参数)。初始化框架对象还要采取一些建立步骤(据TimPeters在comp.lang.python上所说,有100多行C语言程序;我自己还没检查Python源代码呢)。与此相反,恢复一个生成器就相当省力;参数已经解析完了,而且框架对
系统 2019-09-27 17:49:57 1946
1.冒泡排序1.1算法思想冒泡排序是一种简单的排序算法。通过重复地遍历要排序的数列,一次比较两个元素,从最开始的一对到最后的一对(相当于一个长度为2的滑动窗口),如果它们的顺序错误(看从小到达排列还是从大到小排列)就把它们交换过来。如果是升序排列的话,每次遍历都会把最大值交换到最右边。然后重复这个过程,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,就像冒泡一样。这个算法不需要额外的空间,
系统 2019-09-27 17:49:46 1946