- 浏览: 1370102 次
- 性别:
- 来自: 广州
最新评论
-
daye0209:
sohuexe 写道C++恐怕它还不行吧,推荐看看 http: ...
JNA入门实例 -
cxhcxheret:
...
每日一Vim(29)ctags -
qdujunjie:
学会了recording,感谢~~
每日一Vim(23)宏---Record、Play -
perfectionhello:
很棒的vim
每日一Vim(5)c命令 -
zc-111:
看完了才发现这篇文章果然是你写的
5分钟了解Mockito
文章列表
原文链接:http://foofish.net/blog/92/python_dict_implements
字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是 O(1) :
>>> d = {'a': 1, 'b': 2}
>>> d ...
Python 整数对象实现原理
- 博客分类:
- Python
原文:http://foofish.net/blog/89/python_int_implement
整数对象在Python内部用PyIntObject结构体表示:
typedef struct {
PyObject_HEAD
long ob_ival;
} PyIntObject;
PyObject_HEAD宏中定义的两个属性分别是:
int ob_refcnt;
struct _typeobject *ob_ ...
注:这篇文章来自于 意外收获,关于mock和stub 中的评论,由于pocket没法把评论也收藏,因此特摘抄了 frostred 的评论,文章版权归原作者所有
很高兴前面的一点文字能对你有所帮助。事实上,写东西时候,也是对自己的思 ...
Django Paginator
- 博客分类:
- Python
Django分页的基本操作在Django文档有简单的例子,基本上看一下就知道。核心代码在django.core.paginator.py中。
分页对象Paginator:
只需提供两个必要的参数,第一个就是用于展示的数据(object_list),第二参数就是每页显示的大小(per_page),提供了这两个参数,其他的都好说:
Paginator.count:数据总量
Paginator.num_pages:总共分页数
Paginator.page_range:这是从第一页到最后一页组成的一个列表,比如分页对象总共有10页,那么Paginator.page_range = ...
Django 自定义模版标签和过滤器
- 博客分类:
- Python
1、在app中新建templatetags目录,目录中新建__init__.py文件名的空文件。
2、编写自定义过滤器 test_filter.py
#!/usr/bin/env python
#coding:utf-8
from django import template
from utils.timebefore import timebefore
register = template.Library()
def test_filter(value,arg=None):
'''扩大原来的2倍'''
return value * 2
r ...
Python timedelta
- 博客分类:
- Python
datetime.timedelta对象代表两个时间之间的的时间差,两个date或datetime对象相减时可以返回一个timedelta对象。
构造函数:
class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[,
模版中的变量由context中的值来替换,如果在多个页面模版中含有相同的变量,比如:每个页面都需要{{user}},笨办法就是在每个页面的请求视图中都把user放到context中。
from django.temlate import loader,Context
t = loader.get_template(' ...
(体验更好的阅读效果,戳这里)
virtualenv
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:1. 在没有权限的情况下安装新套件2. 不同应用可以使用不同的套件版本3. 套件升级不影响其他应用
安装
sudo apt-get install python-virtualenv
使用方法
virtualenv [虚拟环境名称]
如,创建**ENV**的虚拟环境
Python处理JSON
- 博客分类:
- Python
Python处理JSON
(如果阅读效果不佳,可戳这里)
概念
序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。
JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。
Python2.6开始加入了JSON模块,无需另外下载,Python的Json模块序列化与反序列化的过程分别是 ...
Python yield 生成器
- 博客分类:
- Python
yield:生成器
任何使用yield的函数都称之为生成器,如:
def count(n):
while n > 0:
yield n #生成值:n
n -= 1
另外一种说法:生成器就是一个返回迭代器的函数,与普通函数的区别是生成器包含yield语句,更简单点理解生成器就是一个迭代器。
使用yield,可以让函数生成一个序列,该函数返回的对象类型是"generator",通过该对象连续调用next()方法返回序列值。
c = count(5)
c.next()
>>> 5 ...
每日一Vim(29)ctags
每日一Vim系列文章到目前刚好30篇,内容差不多可以应付日常工作的百分之七八十,当然还有很多细节包括插件,以及如何编写自己的插件等等。从这篇文章开始,我会把脚步稍微放慢点,进一步放低更新频 ...
每日一Vim(28)全局命令
- 博客分类:
- 每日一Vim
每日一Vim(28)全局命令
全局命令在Vim中有这举足轻重的作用,特别对于那些重复性的工作尤为有效,它能对匹配的所有行执行某个命令,先来看看它的语法:
:[range]global[!]/{pattern}/{command}
[range]指定作用范围,默认global命令作用于整个文件,不像:normal等命令,normal默认是作用于当前行。
每日一Vim(27)高亮所有搜索模式匹配
今天的内容很简单:-)
* 向后搜索光标所在位置的单词# 向前搜索光标所在位置的单词n和N可以继续向后或向前搜索匹配的字符串
每日一Vim(26)---跨行执行〈Normal模式下的〉命令
以往,要想在多行执行normal 模式下命令可以通过定义宏来重复操作,今天讲个新鲜的。:normal命令。之前讲过一个列子,实现注释多行代码这样一个需求,可选的方法如下三种方式:(当然你还可以相出更多的办法来)
import urllib2
def html():
f = urllib2.urlopen("http://www.douban.com")
print f.read()
替换::%s/^/#/g
visual block: