python
文章平均质量分 72
初心不忘
这个作者很懒,什么都没留下…
展开
-
python实现PCA(主成分分析)降维
PCA复杂的原理在这就不说了,可以去网上看看相关资料,说的都很好,在这我主要说一下实现的过程。PCA计算过程:第一步:求均值。求平均值,然后对于所有的样例,都减去对应的均值第二步:求特征协方差矩阵第三步:求协方差的特征值和特征向量第四步:将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵.第五原创 2016-04-02 08:06:16 · 14039 阅读 · 2 评论 -
python WSGI+Paste Deployment+oslo.config综合运用
关于Paste Deployment介绍请看我之前的博客Python Paste Deployment关于oslo.config介绍请看我之前博客oslo.config关于WSGI介绍请看我之前博客WSGI接口在有了上面的基础后,不多说,直接上代码server.pyimport osimport commandsfrom paste.deploy import loadap原创 2016-04-23 09:43:06 · 3514 阅读 · 0 评论 -
Python之赋值与深浅拷贝
赋值 在Python中,赋值语句是建立对象的引用,而不是复制对象,变量就像一个指针.例如:# coding:utf-8list_a = [1, 2, 3, ['a', 'b', 'c']]list_b = list_afor item in list_a: print(id(item))for item in list_b: print(id(item))原创 2016-05-15 08:50:13 · 2850 阅读 · 0 评论 -
python之pyQuery使用总结
什么是pyQuery 当我们使用爬虫抓取网页后,还需要对抓取的HTML内容进行处理以获得需要的信息.pyQuery是jQuery的python实现,可以用来解析HTML内容.安装 我的环境:Ubuntu 14.04+python2.7 命令:pip install pyquery使用 加载HTML内容 from pyquery import pyQue原创 2016-05-09 09:34:08 · 8163 阅读 · 0 评论 -
python之PyMongo使用总结
PyMongo是什么 PyMongo是驱动程序,使python程序能够使用Mongodb数据库,使用python编写而成.安装 环境:Ubuntu 14.04+python2.7+MongoDB 2.4 先去官网下载软件包,地址点击打开链接.解压缩后进入,使用python setup.py install 进行安装 或者用pip安装pip -m install原创 2016-05-09 10:56:57 · 26829 阅读 · 0 评论 -
Python之文件操作
文件读写操作 打开文件 file = open(fileName, mode),mode默认为"r" 例如file = ope("test.txt", "r").以读的方式打开文件.文件操作完毕记得关闭.file.close() 其中,mode可以有以下选择:"r" 以读方式打开,只能读文件.如果文件不存在则会发生异常"r+" 以读写方式打开原创 2016-05-09 14:46:00 · 3401 阅读 · 0 评论 -
Python闭包需要注意的问题
定义 python中的闭包从表现形式上定义为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure),也就是说内层函数引用了外层函数的变量然后返回内层函数的情况就称之为闭包。 闭包的特点是返回的函数还引用了外层函数的局部变量。所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。实例问题#原创 2016-05-23 08:11:18 · 2285 阅读 · 0 评论 -
Python之greenlet学习
greenlet官方文档:点击打开链接以下内容主要是理解官方文档而来.greenlet greenlet是python的并行处理的一个库。 python 有一个非常有名的库叫做 stackless ,用来做并发处理, 主要是弄了个叫做tasklet的微线程的东西, 而greenlet 跟stackless的最大区别是greenlet需要你自己来处理线程切换, 就是说,你需要自己指定原创 2016-05-22 20:23:03 · 8706 阅读 · 0 评论 -
java和python对比
Java和python是我用的最多的两门语言,想了想它们各自的特性再结合着网上的内容总结一下。Java的特点: 1.编译型语言,编译器会生成由字节码组成的.class文件,然后由java虚拟机来运行; 2.静态类型语言,在编译期间就确定数据类型,变量先声明再使用; 3.强类型语言,一旦变量被指定了某个数据类型,如果不进行强制类型转换那么它就一直是这个类型;原创 2016-04-03 10:16:49 · 8720 阅读 · 0 评论 -
Python使用函数默认值实现函数静态变量的方法
有时候我们想将一个变量定义成静态变量,在Java中可以用static关键字来修饰它,但是如果是python呢,python中可没有static关键字,那么在函数中想要把一个变量定义为静态变量改怎么做呢?虽然python不支持静态变量,但我们可以通过函数的默认值来实现静态变量的功能。先看一段代码:def func(a, b=[]): b.append(a) print b原创 2016-06-04 20:41:08 · 3298 阅读 · 0 评论 -
Python获取当前时间的前(后)N天,前(后)N周,前(后)N月
获取当前时间的前(后)N天def get_days_before_today(n=0): ''''' date format = "YYYY-MM-DD HH:MM:SS" ''' now = datetime.datetime.now() if(n<0): return datetime.datetime(now.year, now.month, now.day, now.ho原创 2016-07-11 11:00:40 · 9187 阅读 · 0 评论 -
Python is和==的区别
Python中的对象包含三要素:id、type、value。其中:id用来唯一标识一个对象,type标识对象的类型,value是对象的值。is判断的是a对象是否就是b对象,是通过id来判断的。==判断的是a对象的值是否和b对象的值相等,是通过value来判断的。举个例子:>>> a = [1,2,3]>>> import copy>>> b = copy.copy(a)>原创 2016-07-11 14:34:50 · 979 阅读 · 0 评论 -
WSGI接口
官方文档:WSGI什么是WSGI WSGI---Web Service Gateway Interface,网络服务网关接口.首先声明,它不是服务器,也不是python模块,它是一种规范,描述Web服务器和应用之间的交互.通俗来讲,它就是一条纽带,连接着Web服务器和应用.WSGI应用 WSGI应用是一个可调用(callable)对象,它可以是一个函数,原创 2016-04-23 09:21:58 · 4224 阅读 · 0 评论 -
python生成随机数方法小结
在python中用于生成随机数的模块是random,在使用前需要importrandom.random:random.random():生成一个0-1之间的随机浮点数.例:import randomprint random.random()# 0.87594424128random.uniformrandom.uniform(a, b):生成[a,b]之间的浮点数.原创 2016-05-07 19:31:23 · 38011 阅读 · 4 评论 -
openstack oslo.config配置解析模块
什么是oslo.config oslo.config是openstack解析命令行(CLI)或者配置文件(.conf)中配置信息的库.官网地址点击打开链接 安装: $ sudo pip install oslo.configcfg模块 每一个配置项都是一个Opt类或其子类例如:from oslo_config import cfgfrom oslo_co原创 2016-04-22 10:55:55 · 9121 阅读 · 0 评论 -
python实现K近邻
K近邻算法的具体思想如下:(1)计算已知类别数据集中的样本与当前样本之间的距离(2)按照距离递增次序排序(3)选取与当前点距离最小的k个样本(4)确定前k个样本所在类别的出现频率(5)返回前k个样本中出现频率最高的类别作为当前点的预测分类python实现 def define_classification(self, sample, trainSet, label原创 2016-04-02 11:12:32 · 3595 阅读 · 0 评论 -
python中多线程如何用Ctrl+C终止
在编写python多线程程序时,发现用Ctrl+C无法终止,就算用Ctrl+Z强制当前进程转为后台并使之停止,而实际上并未停止,用ps命令一查还在运行,于是上网上找资料,动手实践,记录分享一下解决办法。在你的代码中增加如下类class Watcher(): def __init__(self): self.child = os.fork() if原创 2016-04-01 21:38:20 · 12309 阅读 · 5 评论 -
python os.fork() 循环输出
先看下面这段代码:import osdef main(): for i in range(0, 2): os.fork() print 'Hello'if __name__ == '__main__': main() 猜测一下,会输出几行Hello。 答案是: Hello Hello Hello Hell原创 2016-04-06 17:04:12 · 4263 阅读 · 0 评论 -
Python 迭代器
1.迭代器 1.1介绍 访问一个列表或元组时很平常的做法是通过下标访问例如:lst = [1, 2, 3, 4, 5]for i in range(len(lst)): print lst[i] 但是除了这种方式,其实还有另外一种方式,使用迭代器:lst = [1, 2, 3, 4, 5]for value in lst: print value原创 2016-04-26 11:20:32 · 6306 阅读 · 0 评论 -
python之urllib2使用总结
urllib2是什么 urllib2是python中用来打开url的一个模块.除此之外,python中还有一个功能类似的模块urllib,它们的区别是:urllib2可以接受一个Request类的实例来设置URL请求的headers,这可以帮助我们的代码伪装成浏览器,而urllib只可以接受urlurllib提供urlencode方法来encode发送的数据,而urlli原创 2016-05-09 21:16:36 · 3132 阅读 · 0 评论 -
十个Python程序员易犯的错误
不管是在学习还是工作过程中,人都会犯错。虽然Python的语法简单、灵活,但也一样存在一些不小的坑,一不小心,初学者和资深Python程序员都有可能会栽跟头。本文为大家分享了10大常见错误,需要的朋友可以参考下常见错误1:错误地将表达式作为函数的默认参数在Python中,我们可以为函数的某个参数设置默认值,使该参数成为可选参数。虽然这是一个很好的语言特性,但是当默认值是可变类型时,转载 2016-05-10 21:53:15 · 2916 阅读 · 1 评论 -
开发中常遇到的Python陷阱和注意点
避免可变对象作为默认参数在使用函数的过程中,经常会涉及默认参数。在Python中,当使用可变对象作为默认参数的时候,就可能产生非预期的结果。下面看一个例子:1234567def append_item(a = 1, b = []): b.append(a) pri转载 2016-05-10 21:45:46 · 2993 阅读 · 0 评论 -
python数据结构之字符串查找两例
查找字符串中最长连续数字子串 问题描述 查找给定字符串中最长的数字字串,返回其起始下标,长度和字串.例如: input :abc12345cd123ef234567df output:15 6 234567'''查找给定字符串中最长的数字字串,返回其起始下标,长度和字串.例如:input :abc12345cd123ef234567dfoutput:15 6 23原创 2016-05-11 10:04:36 · 2615 阅读 · 0 评论 -
python基础---数据类型之间的转换
python数据类型 python有5个标准的数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)数字之间和数字与字符串之间的转换 int int函数能够:把符合数学格式的数字字符串转换成整型数字;把浮点型数字转换成整数,只是把数字取整,抹去小数部分.print i原创 2016-05-08 20:05:09 · 3752 阅读 · 0 评论 -
Python多线程使用及线程同步
多线程使用 Python使用多线程有两种方式,函数式和用类来包装线程对象.线程模块 Python通过两个标准库thread和threading提供对线程的支持。thread提供了低级别的、原始的线程以及一个简单的锁。 thread 模块提供的其他方法:threading.currentThread(): 返回当前的线程变量。thre原创 2016-05-14 10:04:17 · 5655 阅读 · 0 评论 -
python函数式编程
什么是函数式编程(定义) 函数式编程是一种编程范式,其思想接近数学计算,也就是说一个函数的值取决于参数的值而不依赖其他的状态.为什么要函数式编程(优点)1. 代码简洁,开发快速函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快。2. 接近自然语言,易于理解函数式编程的自由度很高,可以写出很接近自然语言的代码。3. 更方便的代码管理原创 2016-05-16 09:42:28 · 1846 阅读 · 0 评论 -
Python Paste Deployment
本文参照着官方文档编写,管网地址:点击打开链接什么是Paste Deployment Paste Deployment是用来发现和配置WSGI的系统.对于WSGI使用者来说,它提供了简单的方法(loadapp)通过配置文件来启动WSGI应用.对于WSGI的开发者来说,只需要给自己的应用提供一套简单的入口点即可.安装 $ sudo pip install PasteDep原创 2016-04-21 17:18:35 · 3909 阅读 · 0 评论 -
python装饰器(decorator)
什么是装饰器(decorator) 简单来说,可以把装饰器理解为一个包装函数的函数,它一般将传入的函数或者是类做一定的处理,返回修改之后的对象.所以,我们能够在不修改原函数的基础上,在执行原函数前后执行别的代码.比较常用的场景有日志插入,事务处理等.装饰器 最简单的函数,返回两个数的和def calc_add(a, b): return a + bcalc_add(原创 2016-05-12 16:05:22 · 4971 阅读 · 0 评论