Python FAQ from newsmth.net
23号
|
1#
23号 发表于 2008-11-05 15:37
Python FAQ from newsmth.net
本FAQ内容包含:
0.Python 资源索引 1.Python的版本和下载方式 2.推荐书籍 3.推荐站点 4.Python有什么IDE 5.哪有Python电子书 6.使用easy_install安装第三方程序包 7.Python需要编译么?如何做成.exe文件 8.如何在代码中使用中文 9.Python有哪些图形库 10.一些网址 11.filter, map, reduce, zip函数 12.访问GAE,修改hosts文件的方法 0.Python 资源索引 http://wiki.woodpecker.org.cn/mo ... on/LpyAttach2ResIdx 大多数资料都在上面了,目录如下: 1. Python 资源索引 1. Py 语言自身 2. Py 文本处理 3. Py 数据库应用 4. Py 网络应用 5. Py 嵌入系统 6. Py 多媒体支持 7. Py 应用扩展 8. Py 科学计算 9. Py 行业应用 10. Py 教育支持 11. Py 集锦资源 2. 资源回收 1.Python的版本和下载方式 A.至2008年10月,Python最新的版本为2.6。Python3000尚处于测试状态。Python的官方下载地址是: http://www.python.org/download/ 2.推荐书籍: A.1、《A Byte of Python(简明python教程)》 http://www.byteofpython.info/language/chinese/index.html 2、《Dive into Python(Python研究)》 http://www.woodpecker.org.cn/diveintopython/index.html 3、《Learning Python》 4、《Programming Python》 第一本书非常简短,也有中文译本“简明Python教程”,是想速成(几小时)者的首选。另外在http://www.python.org/doc有 很多官方的文档和教程,非常不错。 3.推荐站点: A.1、啄木鸟社区 http://www.woodpecker.org.cn/ 2、Python@Newsmth (wahahaha~~~) 3. 中文用户组 CPUG: http://python.cn [email]python-chinese@lists.python.cn[/email] (邮件列表) //已经停止服务,转CPyUG吧。 CPyUG: 华蟒用户组 https://groups.google.com/group/python-cn PyTUG: Python 語言台灣使用者群組 https://groups.google.com/group/pythontw 4. 中文论坛: 1. Python@CU http://bbs.chinaunix.net/forumdisplay.php?fid=55 4.Python有什么IDE A.Python官网有一份IDE列表,很全: http://wiki.python.org/moin/IntegratedDevelopmentEnvironments 如果看了上面的列表还是不知道自己该选哪个,推荐看置底的“Python IDE比较与推荐” 5.哪有Python电子书? A.精华区x-5收录了一些经典的电子书。下载请用web方式。 强烈推荐开放图书计划: http://code.google.com/p/openbookproject/ 聚集大量的Python技术图书. 另外这两个地方有很多python的电子书: http://www.longtengwang.com/Soft/yiyong/Python/Index.html http://www.pythonid.com/html/wendangxiazai/index.html 想看纸质书,在书店里没有找到,那么最简单的办法是去淘宝网。 6. 使用easy_install安装第三方程序包: A.参考:http://blog.chinaunix.net/u1/42287/showart_405102.html http://www.ibm.com/developerworks/cn/linux/l-cppeak3.html 1. 安装 wget -q http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py 2. 使用 sudo easy_install CherryPy sudo easy_install -Z web.py-0.21.tar.gz B. 想看看有什么第三方程序包:http://pypi.python.org/pypi 7.Python需要编译么?如何做成.exe文件? A.Python不需要用户专门去编译它,第一次运行时,在运行过程中,Python的解析器会自动将代码编译为.pyc。一般来讲,运 行结束后不会自动删除.pyc文件。 在Windows下,可以用py2exe等工具将代码编译为.exe文件。原理是py2exe会将必要的python解析器也打包进去。所以做成的 .exe有几M,如果有图形界面,就会有十几M,而且运行速度不会有提升。 8.如何在代码中使用中文 A.在Python2.5或之前的版本中,代码里默认是不能有中文的,包括注释。解决方法是在代码一开头加上: # -*- coding: gbk -*- 或 # -*- coding: utf-8 -*- 或 #coding=utf-8 具体选哪一种看具体情况。一般来讲,如果不是网络编程,统一用utf-8就OK了,包括与MySQL的交互也可以用utf-8搞定。如 果是网络编译,特别是与FTP打交道,推荐使用gbk,可以省去很多麻烦。 注意本法没有涉及不同编码的转换。 9.Python有哪些图形库 A.常用的有tk/tcl, PyGtk,PyQt和wxPython。都是跨平台且开源的。第一个是Python自带的,但比较难用且难看。PyQt和 wxPython都漂亮好用且文档/demo很棒,目前来看PyQt4比wxPython更胜一畴。 10. 一些网址 Python: www.python.org ActivePython: www.activestate.com Stackless Python: www.stackless.com IronPython: www.ironpython.com PyPy: pypy.org JPython: www.jpython.org Django: www.djangoproject.com Mod_Python: www.modpython.org Webware: www.webwareforpython.org CherryPy: www.cherrypy.org Web.py: webpy.org Zope: www.zope.org Turbogears: www.turbogears.org Google AppEngine: http://code.google.com/appengine Twisted: http://twistedmatrix.com Beautiful Soup: http://crummy.com/software/BeautifulSoup PythonWeb: www.pythonweb.org JabberPy: http://jabberpy.sourceforge.net pyGoogle: http://pygoogle.sourceforge.net libgmail: http://libgmail.sourceforge.net pyExpect: http://pexpect.sourceforge.net MySQLdb: http://sourceforge.net/projects/mysql-python PyGreSQL: www.pygresql.org psycopg: www.initd.org/pub/software/psycopg cx_Oracle: www.cxtools.net SQLAlchemy: www.sqlalchemy.org scipy: www.scipy.org NumPy: http://numpy.scipy.org numarray: www.stsci.edu/resources/software_hardware/numarray matplotlib: http://matplotlib.sourceforge.net WxPython: www.wxpython.org PyGtk: www.pygtk.org PyQt: http://trolltech.com/products/qt Tkinter 3000: http://effbot.org/zone/wck.htm PIL: www.pythonware.com/products/pil pyOpenGL: http://pyopengl.sourceforge.net pySoundic: http://pysonic.sourceforge.net pyMedia: http://pymedia.org FMOD: http://www.fmod.org pyMIDI: http://www.cs.unc.edu/Research/assist/developer.shtml Python Documentation Online: http://pydoc.org, http://docs.python.org Python-cn: http://python.cn Pythonic: http://www.woodpecker.org.cn The Daily Python-URL: http://www.pythonware.com/daily/index.htm Python Package Index: http://pypi.python.org Planet Python: http://www.planetpython.org Pythonite: http://www.pythonite.org Useless Python: http://www.uselesspython.com Python Cookbook: http://aspn.activestate.com/ASPN/Cookbook/Python Python Sidebar: http://www.edgewall.org/python-sidebar Python Source: http://pythonsource.com 11.filter, map, reduce, zip函数 1. filter(function, sequence) 返回序列,为原序列中能使function返回true的值 >>>a=[1,2,3,4] >>>filter(lambda x:x%2, a) [1, 3] 2. map(function, sequence, [sequence...]) 返回序列,为对原序列每个元素分别调用function获得的值. 可以传入多个序列,但function也要有相应多的参数,如 map(lambda x,y,z:x+y+z,range(1,3),range(3,5),range(5,7)) 计算过程为 1+3+5=9 2+4+6=12 返回[9,12] 3. reduce(function,sequence,[init]) 返回一个单值为,计算步骤为 : * 第1个结果=function(sequence[0],sequence[1]) * 第2个结果=function(第1个结果,sequence[2]) * 返回最后一个计算得值 * 如果有init,则先调用function(init,sequence[0]) * sequence只有一个元素时,返回该元素,为空时抛出异常. 如 reduce(lambda x,y:x+y,range(3),99) 的计算为 99+0=99 => 99+1=100 => 100+2=102 返回102 注:实际使用中用内建函数sum来完成这个累加更合适,如这里等价sum(range(3),99) 4. zip用于多个sequence的循环 questions=['name', 'quest', 'favorite color'] answers=['lancelot', 'the holy grail', 'blue'] for q, a in zip(questions, answers): print 'What is your %s ? It is %s.' % (q,a) 输出: What is your name ? It is lancelot. What is your quest ? It is the holy grail. What is your favorite color ? It is blue. 12.访问GAE,修改hosts文件的方法 Shell:~/dev/AppEngine/google_appengine/n23 >: tail -n 3 /etc/hosts 209.85.171.118 n23.appspot.com 64.233.189.99 appengine.google.com #203.208.35.100 appengine.google.com Shell:~/dev/AppEngine/google_appengine/n23 >: |