01 2013 档案

摘要:和上一篇一样也是在web.py的源码中产生的一点疑问。源码中一个函数末尾有这样一句话:return p and p[0]想也没想觉得返回值肯定是True或者False,可是发现返回值是p[0]。。。后来找到了关于非布尔值进行逻辑运算的规律,这里就暂且抄过来了:在Python中,空字符串为假,非空字符串为真。非零的数为真。数字和字符串之间、字符串之间的逻辑操作规律是:对于and操作符:只要左边的表达式为真,整个表达式返回的值是右边表达式的值,否则,返回左边表达式的值对于or操作符:只要两边的表达式为真,整个表达式的结果是左边表达式的值。如果是一真一假,返回真值表达式的值如果两个都是假,比如空值和 阅读全文
posted @ 2013-01-14 19:22 Excelight 阅读(1244) 评论(0) 推荐(0)
摘要:昨天各大IT网站头版都是XXX黑客自杀的消息,虽然我不认识,但是后来发现这个人是reddit的联合创始人,而且还开发了web.py框架,web.py虽然没用过,但是大名还是听过的,所以今天就去看了下web.py的源码。。。主要关注了template那一块,发现web.py的template的一种使用方式是这样的:render = web.template.render('templates')print render.foo()其中templates是放模板的文件夹,而foo是文件夹中的一个文件名,如foo.html。就是这里太神奇了!其他语言中从来没见,python是怎么办到 阅读全文
posted @ 2013-01-14 17:05 Excelight 阅读(1327) 评论(0) 推荐(0)
摘要:今天看了看Erlang编程指南,发现其中的递归还是挺有特色的,递归式函数式编程语言的一大特色了。递归比如一个求平均数的例子:1 average(List) -> sum(List) / len(List).2 3 sum([]) -> 0;4 sum([Head | Tail]) -> Head + sum(Tail). 5 len([]) -> 0;6 len([_ | Tail) -> 1 + len(Tail).先看sum函数,sum([])->0. 如果列表是空的,那么元素总和是零sum([Head | Tail]) -> Head + sum 阅读全文
posted @ 2013-01-07 16:21 Excelight 阅读(602) 评论(0) 推荐(0)
摘要:1. Question: x=[...], 求x所有元素的平方和 Answer: (普通版)1 def fun(x):2 total = 03 for e in x:4 total = total + e**25 return total Answer:(Pythonic)1 def fun(x):2 return sum([e**2 for e in x]) 阅读全文
posted @ 2013-01-05 21:55 Excelight 阅读(124) 评论(0) 推荐(0)