
Python
kzjay
这个作者很懒,什么都没留下…
展开
-
搁浅的Python
Python的Duck Typing 让我遇上麻烦了,要给一个新写的类做单元测试,驱动是用自带的unitest模块,桩对象呢?C++/Java中可以按着接口写个桩对象,但是接口并不是Python风格中的一个东西,这一直在想怎么样来解决这个问题。我想这应该是强制类型和静态语法检查的问题。刚才和ZJB谈了这个问题,他理解我的意思,说明年项目组在考虑用JAVA。 刚才又看到一个用__do原创 2009-12-17 16:42:00 · 1191 阅读 · 0 评论 -
Python Project
* PYTHON 趋向于将功能相近的对象放进一个MODULE(文件)里,不用担心对象会太大,因为如果对象太大了,那它可能是做的事性太多了 需要被重构、分解。 * 开发辅助工具是PYTHON的一个强项。如构建工具、统计工具等等,只要有需求,它一定办得到,因为这些应用对安全和性能要求不高,反 而对开发的简洁性有很高的乞求。 * 只把会发生意外的那一小部分放进try里,把原创 2009-12-18 15:28:00 · 3657 阅读 · 0 评论 -
Performance Python Vs Java
* java强制使用OO进行应用开发,Python可以用函数式编程。函数式有时显得非常简单,代码量巨减。回想起Java动不动的N层、还有一个个对象,真的有那种心要吗?而且Python本身语言风格就简洁,再加上简洁的函数,在开发效率、Debug、测试上似乎会有优势。 * 大型复杂项目的性能更多地体现在架构、硬件拓扑结构上等。应对数量庞大的在线用户,APP服务器、数据库等都原创 2009-12-24 22:49:00 · 1692 阅读 · 0 评论 -
Python 中的字符编码
1、str类型可以理解为一个二进制block,或multibyte2、multibyte_str.decode("") -> unicode3、unicode_str.encode("") -> multibyte_str(binary block)4、unicode_str 的操作参数也应为unicode,如:unicode_str.find("样本".decode("ut原创 2010-04-28 15:16:00 · 474 阅读 · 0 评论 -
Python 之 Logger
记忆力差,上次看了遍logger现在又忘了,不得不写笔记。logging 全局静态,可真接拿来用:import logginglogging.basicConfig(filename='/tmp/my_log_test.log', level=logging.INFO) # StreamHandlerlogging.debug('Debug message')logging.info('Info message')logging.error('Error message')###/>cat /tmp/my_原创 2010-06-08 10:56:00 · 8546 阅读 · 0 评论 -
Python2.6 MISC1
[ 编译 ]$ ./configure --prefix=/usr/local/python2.6.5$ make && make install[ 环境 ]$ wget http://peak.telecommunity.com/dist/ez_setup.py$ python2.6 ez_setup.py$ easy_install-2.6 django$ easy_install-2.6 mysql-python$ easy_install-2.6 pylzma$ easy_install-2.6 f原创 2011-04-03 00:21:00 · 650 阅读 · 0 评论 -
Python_MISC2
Embeded Python Interpreter To Your Application[ 引用记数 ]* Python对象都创建在堆上* 在进过函数时加引用记数,完成时减引用记数的原因是:在这个Scope锁住Python对象,以防它被析构* 内创建->外删除:一些创建对象的Py_* API 创建出来的对象记数为一,对象用完后调用Py_DECREF是使用者的责任* 删除函数:一些Py_* API当你把对象传进去后,就相当于把对象的生命周期托管给这些API了,你再也不管了。(the function st原创 2011-04-06 23:29:00 · 1280 阅读 · 0 评论 -
关于gevent.get_hub().loop.async()
gevent.get_hub().loop.async()新建一个slot,这个slot可以放入一个回调函数,同时可以由另外一个OS线程通知gevent的loop engine运行这个回调函数。 新建一个slot: gev_loop_async = gevent.get_hub().loop.async() 放入一个回调函数: gev_loop_async.start(__ca原创 2013-12-05 01:59:34 · 2196 阅读 · 0 评论 -
python 打zip 包
入口文件为zip包根目录下名叫__main__.pyc的文件。 __main__.py import foo print "__main__.py" if __name__ == "__main__": print "__main__" foo.foo() foo.py def foo(): print "foo" $ ls myapp foo.原创 2013-12-15 23:34:03 · 822 阅读 · 0 评论