
Python
文章平均质量分 67
celte
这个作者很懒,什么都没留下…
展开
-
Django搭建网站过程问题集锦
题前话:Python的版本是2.7.6,Django版本是1.6本人完全是Python新手,粗略看了下《The Django Book 2.0.chm》 以及《简明Python教程.chm》,准备从零开始,学习用Django搭建一个个人博客,现在此博文中记录下自己在这个过程中遇到的各种问题以及解决方法。1.Django乱码问题在用notepad写好html模板后,然后用Django原创 2013-12-10 11:31:03 · 1542 阅读 · 0 评论 -
Django Signals 从实践到源码分析
当某个事件发生的时候,signal(信号)允许senders(发送者)用来通知receivers(接收者),通知receivers干嘛?你想要recivers干嘛就可以干嘛。这在多处代码对同一个事件感兴趣的时候就有用武之地了。 比如:Django提供了一个built-in signal,叫django.core.signals.request_finished,这个signal会在一个HTTP请求转载 2014-07-10 17:35:58 · 1038 阅读 · 0 评论 -
Python @property
@property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的,我们视具体情况吧 请注意以下代码场景: 代码片段1:转载 2014-07-09 14:09:59 · 610 阅读 · 0 评论 -
Python yield使用方法
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前转载 2014-07-09 16:44:21 · 670 阅读 · 0 评论 -
django拾遗之signal
引入在web开发中, 你可能会遇到下面这种场景:在用户完成某个操作后, 自动去执行一些后续的操作. 譬如用户完成修改密码后,你要发送一份确认邮件.当然你可以把逻辑写在一起, 但是有个问题是, 通常前置动作(触发操作)会不止一种(如用户更改了其它信息的确认邮件), 这时候这个逻辑会需要写多次, 所以你可能会想着DRY, 于是你把它写到了一个函数中,每次调用. 当然这是没问题的转载 2014-07-10 17:33:02 · 914 阅读 · 0 评论 -
深刻理解Python中的元类(metaclass)
类也是对象在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk,这显得有些奇特。在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:123456>>>classObjectCreator(object)转载 2014-07-11 10:22:46 · 713 阅读 · 0 评论 -
Python设计模式系列之一: 用模式改善软件设计
一、什么是设计模式设计模式(design pattern)的提出,是面向对象程序设计演化过程中的一个重要里程碑。正如Gamma,Helm,Johnson和Vlissides在他们的经典著作《设计模式》一书中所说的:设计模式使得人们可以更加简单和方便地去复用成功的软件设计和体系结构,从而能够帮助设计者更快更好地完成系统设计。设计模式的概念最早起源于建筑设计大师Christopher转载 2014-07-11 18:59:22 · 749 阅读 · 0 评论 -
Python设计模式系列之三: 创建型Factory Method模式
一、简介工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实体化哪一个类。在简单工厂模式中,一个工厂转载 2014-07-11 19:02:58 · 732 阅读 · 0 评论 -
Python 设计模式系列之二: 创建型 Simple Factory 模式
一、创建型模式创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够使软件模块做到与对象创建和组织的无关性。为了使体系结构更加清晰,一些软件在设计上要求当创建类的具体实例时,能够根据具体的语境来动态地决定怎样创建对象,创建哪些对象,以及怎样组织和表示这些对象,而创建型模式所要描述的就是该如何来解决这些问题。按照生成目标的不同,创建型模式可以分为类的创建型转载 2014-07-11 19:01:12 · 723 阅读 · 0 评论 -
Fedora20 + Nginx + uWSGI + Django环境的搭建
uwsgi的配置真不是一般的麻烦。。。原创 2014-07-30 20:29:30 · 2738 阅读 · 1 评论 -
python json utf-8乱码
读取的json文件,然后输出后乱码。乱码均为解决方案:原创 2014-07-15 17:25:17 · 6144 阅读 · 0 评论 -
Python多线程机制
开发多线程的应用系统,是在日常的软件开发中经常会遇到的需求。现在的编程语言都为多线程开发提供了很好的支持,无论是通过库的支持还是将多线程机制内建在语言之中。Python也为多线程系统的开发提供了很好的支持。同样身为动态语言,Ruby也提供了多线程的支持,但是在 Ruby 1.9之前的多线程机制是在语言的实现中模拟了线程及线程调度机制,而并没有使用操作系统本身的线程机制(在以后的描述中,我们转载 2014-09-19 23:22:29 · 1432 阅读 · 0 评论 -
Python虚拟机实现
python并不将py文件编译为机器码来运行,而是由python虚拟机一条条地将py語句解释运行,这也是为什么被称为解释语言的原因之一。但python虚拟机并不直接执行py語句,它执行编译py語句后生成的字节码。本篇简单地讲下编译、运行的过程,涉及到的内容有如何编译、控制流、函数及类的实现等。0. python的编译python将py文件编译成为PyCodeObject,再将这个对转载 2014-09-19 23:36:15 · 6230 阅读 · 1 评论 -
Sentry的使用相关调研
sentry的github地址:https://github.com/getsentry/sentry原创 2014-08-26 11:01:59 · 3892 阅读 · 0 评论 -
从python中copy与deepcopy的区别看python引用
讨论copy与deepcopy的区别这个问题要先搞清楚python中的引用、python的内存管理。python中的一切事物皆为对象,并且规定参数的传递都是对象的引用。可能这样说听起来比较难懂,对比一下PHP中的赋值和引用就有大致的概念了。参考下面一段引用:1. python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值转载 2014-09-01 17:35:10 · 2084 阅读 · 0 评论 -
Python里的enumerate
刚刚看了一下Python里面的enumerate的部分, enumerate每次回返回一个tuple:(index, value)例子很简单:转载 2014-07-10 15:43:01 · 1744 阅读 · 0 评论 -
Django的Q查询
Complex lookups with Q objects(Q对象的复杂查询)仅仅靠单一的关键字参数查询已经很难满足查询要求。此时Django为我们提供了Q查询:class Q1、Q对象(django.db.models.Q)可以对关键字参数进行封装,从而更好地应用多个查询,下面是最简单的例子:from django.db.models import Qfr转载 2014-07-09 15:01:04 · 2800 阅读 · 0 评论 -
Linux桌面鼠标取词自动翻译
鉴于linux环境下没有像有道词典一样好用的自动取词翻译的软件,所以决定自己写一个。原创 2014-06-03 11:13:49 · 3945 阅读 · 0 评论 -
Fedora20安装PIL
http://blog.youkuaiyun.com/celte/article/details/24079117原创 2014-07-14 13:33:59 · 730 阅读 · 0 评论 -
Python列表操作
• 列表简介:o 列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等o 列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作o 可以通过list(seq)函数把一个序列类型转换成一个列表• 列表对象支持的方法:o 1.append(x),在列表尾部追加单个对象x,使用多个参数会引起异常o 2.count(x),返回对象x原创 2014-06-07 13:22:01 · 733 阅读 · 0 评论 -
用python写爬虫的一些技巧
学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写google music的抓取脚本的,结果有了强大的gmbox,也就不用写了。这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少转载 2014-05-27 15:37:55 · 1442 阅读 · 0 评论 -
Python装饰器学习
在《Core Python Programming 2nd》中学习到了装饰器,这对我来说是个完全陌生的语法,第一遍愣是没看懂,很有必要记一下。 第一眼看到这个词Decorator,我联想到了DP中的Decorator模式,后来才知道完全不是这么一回事。(再次鄙视一下国内浮躁的博客,我google了一下,几乎千篇一律都是什么锁同步装饰器、超时装饰器,我对原作者表达敬仰,可是大家都是转转载 2014-07-07 12:52:24 · 448 阅读 · 0 评论 -
Xlib库基本图形编程
Xlib库基本图形编程Basic Graphics Programming With The Xlib Libraryhttp://users.actcom.co.il/~choo/lupg/tutorials/xlib-programming/xlib-programming.html 1. Preface 2. The Client And Server Model原创 2014-06-03 11:18:34 · 3560 阅读 · 0 评论 -
PEP8:Python编程规范
什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 。PEP8译者:本文基于 2013-08-02 最后修改的 PEP8 版本翻译,若要查看英文原文,请参考PEP8简介本文档给出的编码约定,来源于 Python 主发行版标准库中的代码。Python 的 C 语言实现所转载 2014-07-07 14:59:37 · 1544 阅读 · 0 评论 -
通过 getattr 获取对象引用
你已经知道 Python 函数是对象。 你不知道的是,使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。例 4.10. getattr 介绍>>> li = ["Larry", "Curly"] >>> li.pop >>> getattr(li, "pop") >>> geta转载 2014-07-08 16:20:26 · 1485 阅读 · 0 评论 -
Python 实例方法、@staticmethod和@classmethod
Python 除了拥有实例方法外,还拥有静态方法和类方法,跟Java相比需要理解这个类方法的含义。转载 2014-07-09 12:02:15 · 804 阅读 · 0 评论 -
python 通过thrift 简单操作hbase
thrift 是facebook开发并开源的一个二进制通讯中间件,通过thrift,我们可以充分利用各个语言的优势,编写高效的代码。关于thrift的论文:http://pan.baidu.com/share/link?shareid=234128&uk=3238841275安装thrift:http://thrift.apache.org/docs/install/ubuntu/转载 2014-07-08 15:08:20 · 2242 阅读 · 0 评论 -
Python super函数
一、问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1:class A: def __init__(self): print "enter A" print "leave A" class B(A): def __init__(self): print "ente转载 2014-07-08 17:27:56 · 1206 阅读 · 0 评论 -
快速部署Python应用:Nginx+uWSGI配置详解
在PHP里,最方便的就是deployment了,只要把php文件丢到支持PHP的路径里面,然后访问那个路径就能使用了;无论给主机添加多少PHP应用,只要把目录改好就没你的事了,完全不用关心php-cgi运行得如何,deployment极为方便。反观Python,部属起来真是头痛,常见的部署方法有:◆fcgi:用spawn-fcgi或者框架自带的工具对各个project分别生成监听进转载 2014-07-07 19:08:13 · 596 阅读 · 0 评论 -
Python特殊语法:filter、map、reduce、lambda
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力!filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:>>> def f(x): return x % 2 != 0 and转载 2014-07-09 10:18:55 · 810 阅读 · 0 评论 -
用Supervisord管理Python进程
Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit(关于monit见我的博客:用monit监控系统关键进程),monit和supervisord的一个比较大的差异是supervisord管理的进程必须由supervisord来启动,monit可以管理已经在运行的程序;supervisord还要求管理的程序是非daemon程序,supervisord会帮你把它转转载 2014-07-08 09:35:10 · 557 阅读 · 0 评论 -
Python在嵌套函数内部访问并父级函数的变量
主要来自stackoverflow上的解答http://stackoverflow.com/questions/6198709/how-do-i-change-nesting-functions-variable-in-the-nested-function原创 2014-09-01 17:13:10 · 4858 阅读 · 0 评论