1.WhyFlask?官方文档详细,学习成本低,有利于项目其他成员迅速投入开发框架轻,可扩展性高,且有很多好用的扩展(extension)该框架仍在积极地维护和开发2.将要介绍到的Flask的扩展flaskblueprint用于注册、管理路由flask_restful用于支持构建RESTAPIsflask_migrate用于管理数据库版本迁移flask_sqlalchemyorm,用于映射数据库对象,提供数据操作方法3.项目结构-project-user-
系统 2019-09-27 17:53:26 2135
本文借鉴于张广河教授主编的《数据结构》,对其中的代码进行了完善。从某源点到其余各顶点的最短路径Dijkstra算法可用于求解图中某源点到其余各顶点的最短路径。假设G={V,{E}}是含有n个顶点的有向图,以该图中顶点v为源点,使用Dijkstra算法求顶点v到图中其余各顶点的最短路径的基本思想如下:使用集合S记录已求得最短路径的终点,初始时S={v}。选择一条长度最小的最短路径,该路径的终点w属于V-S,将w并入S,并将该最短路径的长度记为Dw。对于V-S
系统 2019-09-27 17:53:14 2135
列表推导与生成器表达式当我们创建了一个列表的时候,就创建了一个可以迭代的对象:复制代码代码如下:>>>squares=[n*nforninrange(3)]>>>foriinsquares:printi014这种创建列表的操作很常见,称为列表推导。但是像列表这样的迭代器,比如str、file等,虽然用起来很方便,但有一点,它们是储存在内存中的,如果值很大,会很麻烦。而生成器表达式不同,它执行的计算与列表包含相同,但会迭代的生成结果。它的语法与列表推导一样,
系统 2019-09-27 17:53:14 2135
mkvirtualenv-ppython3环境名创建虚拟环境rmvirtualenv环境名删除环境进入虚拟环境workon环境名(workon+tab可以出来所有环境)查看环境下所有包pip3list查看环境下安装的包(不包括原生python包)pip3freeze依赖包文件生成pip3freeze>requirements.txt环境导入依赖包pip3install-rrequirements.txt普通安装pip3install包名这是linux下的指
系统 2019-09-27 17:52:34 2135
1.锁:Lock(1次放1个)同步锁线程安全,多线程操作时,内部会让所有线程排队处理。如:list/dict/Queue线程不安全+人=>排队处理。需求:a.创建100个线程,在列表中追加8b.创建100个线程v=[]锁-把自己的添加到列表中。-在读取列表的最后一个。解锁以后锁一个代码块:importthreadingimporttimev=[]lock=threading.Lock()deffunc(arg):lock.acquire()#锁的区域---
系统 2019-09-27 17:52:33 2135
在使用peewee框架时,默认是不会出现日志消息的。frompeeweeimportModel,CharField,DateTimeField,IntegerFieldfrompeewee_mssqlimportMssqlDatabasedb=MssqlDatabase(database='test',host='.',user='sa',password='sa')classBaseModel(Model):classMeta:database=dbcl
系统 2019-09-27 17:52:28 2135
目录python多线程详解一、线程介绍什么是线程为什么要使用多线程二、线程实现threading模块自定义线程守护线程主线程等待子线程结束多线程共享全局变量互斥锁递归锁信号量(BoundedSemaphore类)事件(Event类)三、GIL(GlobalInterpreterLock)全局解释器锁python多线程详解一、线程介绍什么是线程线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位
系统 2019-09-27 17:51:56 2135
一、新建云端notebook打开https://colab.research.google.com网站,我们就能看到浏览器中出现了新建pythonnotebook二、分享代码有时候同学之间或者同事之间分享项目代码,过去都是使用邮箱,繁琐费事。现在一键分享,这里我是给自己的邮箱里转发然后大邓打开自己的邮箱,wow,6666三、团队成员可以评论代码比如在一个团队中,有的人写错了代码,我们可以在远隔十万八千的另外一台电脑上做评论,提示错误。四、链接到stacko
系统 2019-09-27 17:51:44 2135
将test01.csv中的张三语文成绩替换成100,且不改变文件其他内容新建一个test02.csv的空文件代码实现如下:importoswithopen("./test01.csv",mode="r",encoding="utf-8")ast1,open("./test02.csv",mode="w",encoding="utf-8")ast2:forlineint1:#文件也是可以迭代的一行行拿出来替换写入新文件中,节省内存if"语文"inline:l
系统 2019-09-27 17:51:18 2135
安装前准备(准备编译环境)yuminstallzlib-develbzip2-developenssl-develncurses-develgcc-c++gcc-y获取Python3.6源码#获取源码wgethttps://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz#安装xzyuminstallxz-y#解压tar-xvfPython-3.6.3.tar.xz-C/usr/local/src/安装
系统 2019-09-27 17:51:11 2135