- 博客(13)
- 收藏
- 关注
原创 多进程
在Python中多进程的创建方式对比:在Python中,可以通过os.fork()创建子进程,但是这种方式只能在linux、unix以及mac下使用,不能在windows下使用。使用multiprocessing模块也可以创建子进程,且该方式写起来简单,也支持windows。multiprocessing基本用法:使用multiprocessing.Process类创建一个子进程...
2018-05-10 18:19:50
211
原创 内存管理
标记清除和分代回收在Python程序中,每次你新创建了一个对象,那么就会将这个对象挂到一个叫做零代链表中(当然这个链表是Python内部的,Python开发者是没法访问到的)。比如现在你在程序中创建四个Person对象,分别叫做p1、p2、p3以及p4,然后p1与p2之间互相引用,并且让p3和p4的引用计数为2import sysclass Person(object): de...
2018-05-09 18:13:06
121
原创 迭代器
可迭代对象用途:给for...in...遍历的对象。数据类型:list、dict、tuple、set、str以及生成器等。满足条件:需要实现一个__iter__方法,且该方法要返回一个迭代器对象。迭代器用途:用来返回数据。每次循环时,就会调用迭代器的next或者__next__方法,通过该方法来获取数据。满足条件: 在Python2中:要实现两个方法,分别是__iter_...
2018-05-09 16:07:56
104
原创 闭包、装饰器
闭包:如果在一个外函数中,定义了一个内函数,并且内函数使用了外函数的变量,且外函数返回了内函数的引用,那么内函数称为闭包。例如: def greet(name): def say_hello(): print('hello my name is %s' % name) return say_hello用闭包完成一个计算器: de...
2018-05-02 18:27:03
172
原创 Flask部署
在开发机上的准备工作:确认项目没有bug。用pip freeze > requirements.txt将当前环境的包导出到requirements.txt文件中,方便在部署的时候安装。将项目上传到服务器上的/srv目录下。这里以git的形式为例。git initgit remote add origin xxx.gitgit add .git commit -m 'first commit'...
2018-05-01 11:58:04
172
原创 cookie、session
### cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前...
2018-04-30 22:13:27
108
原创 sqlalchemy
# SQLALchemy笔记### 使用SQLAlchemy去连接数据库:使用SQLALchemy去连接数据库,需要使用一些配置信息,然后将他们组合成满足条件的字符串:```pythonHOSTNAME = '127.0.0.1'PORT = '3306'DATABASE = 'first_sqlalchemy'USERNAME = 'root'PASSWORD = 'root'# dialect...
2018-04-30 20:11:49
1953
原创 memcached
memcached之前是danga的一个项目,最早是为LiveJournal服务的,当初设计师为了加速LiveJournal访问速度而开发的,后来被很多大型项目采用。官网是www.danga.com或者是memcached.org。Memcached是一个高性能的分布式的内存对象缓存系统,全世界有不少公司采用这个缓存项目来构建大负载的网站,来分担数据库的压力。Memcached是通过在内存里维护一...
2018-04-30 16:50:02
119
原创 redis
redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合],hash(hash表))。相关参考文档:http://redisdoc.com/index.htmlredis使用场景:登录会话存储:存储在r...
2018-04-30 16:44:00
154
原创 alembic
alembic是sqlalchemy的作者开发的。用来做ORM模型与数据库的迁移与映射。alembic使用方式跟git有点了类似,表现在两个方面,第一个,alembic的所有命令都是以alembic开头;第二,alembic的迁移文件也是通过版本进行控制的。首先,通过pip install alembic进行安装。使用alembic的步骤:1. 定义好自己的模型。2. 使用alembic创建一个仓...
2018-04-26 19:56:55
3069
原创 Flask-Script
Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。要使用Flask-Script,可以通过pip install flask-script安装最新版本。首先看一个最简单的例子:# manage.pyfrom flask_script import Managerfrom your_app import app...
2018-04-26 19:47:30
759
原创 类视图、蓝图
### `add_url_rule(rule,endpoint=None,view_func=None)`这个方法用来添加url与视图函数的映射。如果没有填写`endpoint`,那么默认会使用`view_func`的名字作为`endpoint`。以后在使用`url_for`的时候,就要看在映射的时候有没有传递`endpoint`参数,如果传递了,那么就应该使用`endpoint`指定的字符串,如...
2018-04-26 15:48:07
651
转载 宏和import语句
宏:模板中的宏跟python中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量,以下将用一个例子来进行解释: {% macro input(name, value='', type='text') %} <input type="{{ type }}" name="{{ name }}" valu...
2018-04-26 15:12:40
305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人