请稍侯

functools中@waps的使用

functools中@waps 使用装饰器的一个副作用就是,装饰之后函数丢失了它本来的__name__,__doc__及__module__属性。 def my_decorator(f): def wrapper(*args, **kwds): print 'Calling decorated function' return f(*args, **kwds) return wrapper @my_decorator def example(): """Docstring""" print 'Called exampl...

read more

classmethod和staticmethod

@classmethod 和 @staticmethod 相似, 但是有以下区别: @classmethod 的第一个参数必须是class object的引用, @staticmethod 则不需要. 看下面的例子: ###模板代码 假设一个处理日期信息的类: class Date(object): day = 0 month = 0 year = 0 def __init__(self, day=0, month=0, year=0): self.day = day self.month = month ...

read more

Python-Decorator

函数(Functions)是第一个对象 在Python中, 一切都是对象。这意味着即使一个函数被其他对象所包装,我们仍然可以通过这个对象名来进行调用。 举个列子: def traveling_function(): print "Here I am!" function_dict = { "func": traveling_function } trav_func = function_dict['func'] trav_func() # >> Here I am! traveling_function尽管在function_dictdictio...

read more

使用git提交代码

官方文档 https://help.github.com/articles/generating-ssh-keys/ 注意一: 在第3步中有个命令是这样的 # start the ssh-agent in the background eval 'ssh-agent -s' # Agent pid 59566 在windows下应该eval 'ssh-agent -s'这个命令是执行失败的,理应为 eval `ssh-agent -s` 单引号 ’ 转换成 反引号 ` 注意二 通过命令 ssh-add ~/.ssh/id_rsa 添加id_rsa登录的再次登录的时...

read more

参考资料

Docker Docker 从入门到实践 python Python CGI/WSGI Python字符编码详解 Python中的装饰器(decorator) Python中with Python在线手册 算法导论 算法导论答案解析 http://www.stoimen.com/blog/ makedown在线编辑 https://stackedit.io/editor Vim Learn Vim Progressively Java Java常用类和例子 正则表达式 正则表达式入门 工具教程 ...

read more

Python yield 使用浅析

带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 先抛开 generator,以一个常见的编程题目来展示 yield 的概念. 如何生成斐波那契数列 斐波那契(Fibonacci)数列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,许多初学者都可以轻易写出如下函数: 清单 1. 简单输出斐波那契数列前 N 个数 def fab(max): n, a, b = 0, 0, 1 while n <...

read more

Python中args和kwargs参数

*args 通过使用*args语法,一个python函数在它的参数列表中可以接受多个位置参数。 *args 将所有的非关键词参数组合到一个元组(tuple)里,这个元组可以在函数中访问得到。 反过来,当*args用在调用函数的参数列表时,它会将一个元组的参数展开成一系列的位置参数。 # 形式参数示例 def function_with_many_arguments(*args): print args # 此函数中的`args`将成为传递的所有参数的元组 # 可以在函数中像使用元组一样使用 function_with_many_arguments('hello', 12...

read more

调用Random(0,1)实现Random(a,b)

题目描述 如何在只调用RANDOM(0,1)来实现RANDOM(a, b) 步骤 设 n = b - a 找到最小的c 使2^c ≥ n (c = ⌈lgn⌉) 调用RANDOM(0, 1)函数c次,生成的0,1序列构成一个二进制数r 如果r大于n重新开始第3步 否则返回a+r即可

read more