- 博客(10)
- 收藏
- 关注
原创 Python创建大量实例时如何节省内存(__slots__误区)
我们的程序创建了大量的实例,为此占用了大量的内存。对于那些主要用作简单数据结构的类,通常可以在类定义中增加__slots__属性,以此来大量减少对内存的使用。如下:In [16]: class Date: ...: __slots__ = ['years', 'month', 'day'] ...: def __init__(self, year...
2018-08-09 14:33:37
1086
原创 python __format__()自定义字符串的输出格式
我们可以让对象通过format()函数和字符串方法来支持自定义的输出格式。要自定义字符串的输出格式,可以在类中定义__format__()方法,如下:In [6]: _formats = {'ymd' : '{d.year}-{d.month}-{d.day}', ...: 'mdy' : '{d.month}/{d.day}/{d.year}'}In [1...
2018-08-09 13:56:49
3818
原创 python迭代所有可能的组合或排列进行迭代
我们想对一系列元素所有可能的组合或排列进行迭代,为解决这个问题,itertools模块中提供了3个函数。第一个是itertools.permutations(),它接受一个元素集合,将其中所有的元素重排为所有可能的情况,并以元祖序列的形式返回。如下:In [10]: items = ['a', 'b', 'c']In [11]: from itertools import permuta...
2018-08-08 10:46:40
2741
原创 python 对迭代器产生的数据进行切片
我们想对迭代器产生的数据进行切片处理,但是普通的切片操作符在这儿并不管用。In [1]: def count(n): ...: while True: ...: yield n ...: n += 1 ...:In [2]: c = count(0)In [3]: c[10:20]-------------------...
2018-08-08 10:19:06
347
原创 svm python实现
import matplotlib.pyplot as pltimport numpy as npfrom cvxopt import matrix, solvers# 生成线性不可分数据点def gen_data(): mean1 = [-1, 2] mean2 = [1, -1] mean3 = [4, -4] mean4 = [-4, 4] ...
2018-05-27 23:09:03
3966
1
原创 机器学习技法-SVM原理
以线性二元分类为例,在对一个平面内的点进行分类的时候,通常会有无数条直线可以将两类分开,那么选择哪一条线作为我们的分类依据呢?这里就引出了支撑向量机(SVM)这个概念。以我们通常的直觉,也会选择通过两类正中的一条直线,那么有怎么样的理论依据呢。 ...
2018-05-26 17:14:17
284
原创 主键冲突解决方案
1.主键冲突更新类似于插入语法,如果插入数据时主键冲突,又不想改变主键时,那么采用更新方法:insert into 表名 [(字段)] values (值列表) on duplicate key update = 新值此方法弊端是当更新字段较多时,会比较麻烦。2主键冲突替换当主键冲突时,干掉原来的数据,重新插入:replace into 表名 [(字段)] values (...
2018-05-25 09:47:24
12350
原创 python3调用容联短信接口
在CCPRestSDK.py文件中,修改sendTemplateSMS如下: def sendTemplateSMS(self, to,datas,tempId): self.accAuth() nowdate = datetime.datetime.now() self.Batch = nowdate.strftime("%Y%m%d%H%...
2018-05-24 11:24:52
1943
3
原创 tornado中Session基本框架
class Session(object): #request_handler_obj为当前RequestHandler对象的self参数# def __init__(self, request_handler_obj): # 先判断用户的session_id是否存在 self._request_handler = request_handler...
2018-05-24 11:08:21
2243
1
原创 tornado后端数据库查询优化方式--redis
总所周知,tornado是一个异步能力非常强大的web框架,但是在使用第三方库的时候,也要依赖于其是否是一个提供异步功能的库。后端的数据库查询是最需要实现非阻塞的过程之一,但是很多库还是不支持异步的,需要我们自己去编写,那么还有一种优化数据库查询的方式就是在tornado与数据库之间添加一个redis层,使得可以在请求数据库之前先在内存中查找是否有相同需求的资源,加快给前端的数据返回速度。具体步骤...
2018-05-24 10:49:43
1356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人