随笔分类 -  python

摘要:written by pku_goldenlock at qq.com 引言: 我喜欢C++的速度,我喜欢python的简洁,我相信只用C++,python就可以解决99.99%的问题,那么如何让它们交互呢,这里仅说明如何将C++的代码接口封装使得python可以调用c++。一个简单的应用我写了一个分词器,我希望能通过网页形式展示给别人,我觉得用django做这这件事情比用C++些XML更灵活方便。那么如何让python代码能够调用我的分词器呢?我在前面的文章介绍过boost.python使得C++中方便调用python,boost.python入门教程 ----python 嵌入c++ py 阅读全文
posted @ 2010-11-30 21:07 阁子 阅读(24722) 评论(5) 推荐(3)
摘要:这个问题是在我尝试利用pygraphviz嵌入我的C++代码绘制二叉树的时候发现的.找了半天资料,这里我把几种常用的C++调用PYTHON利用 boost.python 的方法作一个总结,希望能让别人少走弯路,因为有些内容还找不到中文文档,虽然都不难但是开始摸索还是费时间的. 我个人认为boost.python真的是非常的COOL,基本上不需要去学习那个看了就头大用着也不方便的python c ... 阅读全文
posted @ 2009-11-17 01:01 阁子 阅读(7218) 评论(3) 推荐(0)
摘要:1.Proxy代理模式[代码]是一种利用复合(using a)代替继承(is a)的方法,Implementaion不一定需要和Proxy具有相同的接口名称,但是相同的名称更易理解。Python中的委派机制(delegation)使得Proxy的实现可以非常的简洁优美。如下,利用__getattr__,使得程序具有完整的通用性(generic)这是动态语言特有的优势,见Dive Into Pyth... 阅读全文
posted @ 2009-09-27 18:41 阁子 阅读(1237) 评论(0) 推荐(0)
摘要:原文请参见http://dirtsimple.org/2004/12/python-is-not-java.htmlPython is not Java下面简单记录其中作者提到的一些观点1.不要将java中的静态函数 static method,转换为python中的类方法(注,类中定义的不带self参数的方法). 尽管作用相同,但是python中的类方法是用来做一些java中不能或者不好实现的效... 阅读全文
posted @ 2009-09-15 22:09 阁子 阅读(2464) 评论(0) 推荐(0)
摘要:刚刚实现一个初始版本1.TODO 仅仅能处理英文,下一步考虑unicode 似乎考虑多了,当前的程序处理中文文本是一样可以的。2.TODO enocde ,decode,文本读写多重转换 int -> chr chr -> int -> bin下一步直接读写int,能否直接读写bit?3.TODO 其它方面考虑速度的优化,比如垃圾回收机制是否影响了速度等等, 和c/c++比pyt... 阅读全文
posted @ 2009-09-12 23:00 阁子 阅读(4690) 评论(0) 推荐(0)
摘要:def foo(l): l += 'b' l = 'abc' foo(l) print(l) #result 'abc' not 'abcb' l = ['abc'] foo(l) print(l) #result ['abc','b'] 作个总结,网上已经有相关的内容了,这里方便记忆。也许有理解错误的地方:) 先看后一种情况,python中的所有变量传递都是传递引用(感觉类似c中的指针,即... 阅读全文
posted @ 2009-09-11 19:19 阁子 阅读(4953) 评论(0) 推荐(0)
摘要:用法: python treeWriter.py #输出结果到tree.png或者 python treeWriter.py <output_file_name> 注意需要安装 graphviz 和 pygraphviz,安装方法见前一篇随笔。 当前的实现需要用户交互输入二叉树,默认输入-1作为子树空。 如对应上面的图,可输入 1 2 7 –1 –1 8 –1 –1 –1 3 4 1... 阅读全文
posted @ 2009-09-10 17:42 阁子 阅读(7960) 评论(0) 推荐(0)
摘要:类似VS中添加类 A的方法 int abc();会在对应的实现文件.cpp中自动生成,int A::abc() {}初学python,尝试写了一个脚本,自动根据写好的.h文件完成这一工作,也支持模板类,不过没考虑太多模板可能会有bug。也可能会有很多其他的bug,不过用了下,感觉还可以,有错误再改正:)用法比如有一个abc.h,对应的实现文件abc.cc1.新建一个abc.cc文件 &#... 阅读全文
posted @ 2009-05-13 18:40 阁子 阅读(1245) 评论(0) 推荐(0)