- 浏览: 71933 次
- 性别:
- 来自: 北京
最新评论
-
xiayh04:
楼主好人!
Django书籍分享 -
winchun323:
感觉楼主,资料下载了!!!
ANDROID资料共享 -
tonyseek:
sydra 写道不是很懂python,鄙人是做java的,很奇 ...
Python单例模式 -
tterry:
没看出来怎么个劣法,莫非你说劣就劣?
避免劣化的python代码 -
edison0951:
Kabie 写道Singleton模式一般是用metaclas ...
Python单例模式
文章列表
网上曾经看到过PYTHON的面试题中有一个是PYTHON的单例模式,说实话,用了这么久的PYTHON,第一次听说单例模式,GOOGLE一下单例模式的关键词,出来的几页面全是JAVA的,想想自己早年也看过一些JAVA的书,先不谈语法,JAVA的很多设计完全就是要把开发者搞晕。UNIX的KISS原则不是很好么,非要把自己搞的很高深,现在的C++的复杂度不就是未来JAVA想要弄的么,一个开发者不学习个半年到1年,JAVA的很多东西根本就无法上手,我们所倡导的敏捷和开发效率,根本就无从谈起了。扯了这么多,还是看看SATCKOVERFLOW上单例模式吧
class Singleton(object):
...
Benefits of Asynchronous Sockets and Linux epoll
The sockets shown in Example 2 are called blocking
sockets, because the Python program stops running until an event occurs. The accept()
call in line 16 blocks until a connection has been received from a client. The recv()
call in line 19 blocks ...
劣化代码:
s = []
for i in seq:
s.append(foo(i))
推荐代码:
s = map(foo, seq)
更高效的代码
for i in itertools.imap(foo, seq):
bar(i)
劣化代码:
for i in xrange(len(seq1)):
foo(seq1[i], seq2[i])
推荐代码:
for i, j in zip(seq1, seq2)
foo(i, j)
更高效:
for i, j in itertools.izip(seq1, seq2):
foo ...
平常使用得编辑环境主要就是vi/vim。和几位同事工作之后,都说我vim使得不熟悉,简直汗颜自己已经用vim已经一年了,可能其他人知道更快捷得操作方式,而自己却不知道,总是用比较原始的方式来操作,这里贴出一些常用操作,希望大家踊跃补全。
1.代码整块缩进
在命令模式下输入v,选中要缩进的行,然后再使用“>”往右缩进或者“<”往左缩进
2.控制行首或者行末
行首:^, 行末:$
3.拷贝一整行:yy
4.粘贴文本:p
5:向上滚动半屏:CTRL-U
6:向下滚动半屏:CTRL-D
7:上滚一行:CTRL-E
8: 下滚一行:CTRL-Y
9: 向下翻页: CT ...
class Context(object):
"A stack container for variable context"
def __init__(self, dict_=None, autoescape=True, current_app=None):
dict_ = dict_ or {}
self.dicts = [dict_]
self.autoescape = autoescape
self.current_app = current_app
def __ ...
Crazylabel的最新产品。不亮的时候是个超级漂亮的摆设,发光时,是个很有情调的灯。
高为16厘米,长为19厘米,配件包括一个眼镜和USB线。
站立时,通过USB线连接后,它能够照明,让它侧躺时,灯光会自动熄灭。所以省去了遥控和插拔插头的麻烦。晚上起夜最方便,只要竖起它,就自然会亮。
Seamour who?
Seamour Sheep is a webcomic about a silly Scottish sheep called Seamour, a wiseacre mole named Marty and a cast of guest stars. Click on one ...
之所以拿这两本书来说,不但是因为它们写的好,更因为他们是从初级到中级一个很好的提携。
首先说说我自己,读大学的时候,估计人人都知道,我们的C语言教程就是--谭浩强老师的C语言程序设计。这本书对于C语言入门确实还是可以,但是感觉还是写的有点啰嗦。当初学习C语言的时候,感觉就是一门课程,就是要学,要拿学分,要毕业,而且自己的人生规划也觉得不会走向程序员这条路。
在工作之后,慢慢发现,原来程序设计也是一件挺不错的事,别人都说我们是代码民工,只要自己喜欢,又何必去管他人呢,毕竟我们的人生还的自己来过。在编程的过程中,接触到了C程序设计语言(K&R写的),看第一 ...
最近看了一篇纽约时报采访乔布斯的文章,其中记者问到,你什么时候结束你的职业生涯?乔布斯的回答是:“我的生活就是我的职业。”对于这个答案,估计很多人会和我一样感到诧异。我相信很多人都不会把生活和工作混在一起,而且在我们的IT业界,很少有人在30岁以后还奋战在写程序的第一线,如果真的还在写,估计大多数人都觉得那个人肯定无能。但是在国外,他们却不这么看,所要做的事情和年龄无关,只和喜好,和兴趣有关。
所以,最终极的问题是,我们究竟要什么?这个可以决定你未来出路的问题摆在我们的面前。
在我们面前的无非就两种选择,大公司和创业公司。
对于创业公司,不仅人少,可以利用的资源也很少,但是执行效 ...
觉得委屈的是时候,心里觉得悲伤的时候,嘴巴爱重复的,重复,一直重复着“我们回家吧!”,明知道没有任何一个地方可以称之为我们的家。可是停不了。。。只能说我们回去吧!可是回哪?
你问我:“回哪去?”
我转头不语。
眼泪一味的泛滥,不让你看见。。。
你的胸口。in your arms is my home ...
you will remember it forever!
whatever we go anywhere .my home is only one place that is in your arms.
今天看到不许联想的BLOG更新了一大堆歌曲,听了几首,感觉都还不错。想把它们下下来保存着,用FIREBUG查看源代码,就看到一个FLASH链接。这时候我想到了强大的FIREFOX插件,GOOGLE了半天,找到了两个很好用的工具。
1.DownloadHelper
通过这个插件,不经可以下载所有的音频文件,也还有视频文件,而且你可以设置你想要获得的音频或者视频格式。你主要去FIREFOX网站上去安装这个插件,打开你所要浏览的网站,一发现视频或者音频文件,它就开始不停的旋转了,你可以直接点DOWNLOAD也可以复制URL用其他工具下载。
2.CacheViewer
此工具的优点在于你可以浏览FI ...
守护进程:通常被定义为一个后台进程,而且它不属于任何一个终端会话(terminal session)。许多系统服务由守护程序实施;如网络服务,打印等。
下面是转自一位网友写的编写守护进程的步骤:
1. 调用fork()以便父进程可以退出,这样就将控制权归还给运行你程序的
命令行或shell程序。需要这一步以便保证新进程不是一个进程组头领进程(process
group leader)。下一步,‘setsid()’,会因为你是进程组头领进程而失败。
2. 调用‘setsid()’ 以便成为一个进程组和会话组的头领进程。由于一个控制终端
与一个会话相关联,而且这个 ...
Android公仔,即将售完。
最近手机坏了,恰逢HTC又出了部便宜的ANDROID手机,理所当然就出手了,在中关村拿的水货,1900.不过这正子肯定又便宜了不少。G4的屏幕不如G1-G3那么大,只有可怜的2.8,而且触摸屏也有所打折,不过MONEY有限(为MACBOOK攒钱啦) ...
1.平衡点问题
平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
要求:返回任何一个平衡点
下面是代码:
1 li = [1,3,5,7,8,25,4,20]
2 def main():
3 i = 0
4 length = len(li)
5 before = 0
6 after = 0
7 mark = 0
8 ...
数组A中存放很多数据,比如A={1,2,3,4,3,2,1,4,8,9,10};其中1,2,3,4/1,4,8,9,10都是递增子序列,1,4,8,9,10是最长的递增子序列。
寻找数组中的最长子序列,返回起始的索引值,如果没有递增子序列,那么返回-1.
实际就是连续判断A[i]是否比A[i-1]大,下面是我的代码:
代码
def function(li):
length = len(li)
count = 1
max = 0
i = 0
first = 0
while True:
j = i + 1 ...