Differences between revisions 27 and 28
Revision 27 as of 2008-10-24 02:58:23
Size: 41877
Editor: ZoomQuiet
Comment:
Revision 28 as of 2008-10-25 01:55:44
Size: 43082
Editor: pem
Comment: 给科学计算部分添加内容
Deletions are marked like this. Additions are marked like this.
Line 543: Line 543:

常备::
  * Numarray/NumPy:
   * 访问地址: http://numpy.scipy.org/numpybook.pdf
 常备::   *NumPy/SciPy/Matplotlib/ipython/openbabel:
  * Numeric/Numarray/NumPy
   * 访问地址: http://numpy.scipy.org/
Line 548: Line 547:
   * Numarray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说是一个矩阵库,它的底层代码是用C编写的,NumPy是Numarray的后继者,用来代替NumArray.
  * SciPy:
   * Numarray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说是一个矩阵库,它的底层代码是用C编写的
   * Numeric/Numarray/NumPy/SciPy之间关系参见网站: http://www.scipy.org/History_of_SciPy。或者参看这个blog的中文翻译: Scipy和Numpy的前世今生 http://my.opera.com/zhangyunfeng/blog/show.dml/256938

  *ipython
  * 访问地址: http://ipython.scipy.org/moin/
  * ipython提供一个像octave,matlab那样的交互式的shell,比默认python shell更好用, 又可以像系统Shell一样运行console命令

  * SciPy:
Line 552: Line 557:
   * 它和NumPy一起工作, 提供了许多方便和高效的数值计算函式,如数值积分或优化.    * 它和NumPy一起工作, 提供了许多方便和高效的数值计算函式,如数值积分或优化

   *matplotlib
   * 访问地址: http://matplotlib.sourceforge.net/
   * matplotlib是一个python 2D图形库,可以从数据生成印刷质量的输出。
Line 554: Line 563:
 深入::
  * SAGE:
   *pylab
   *访问地址: http://www.scipy.org/PyLab
   *被设计用来取代NumPy, SciPy, Matplotlib, IPython组合的科学计算环境,目前还没有完成

   *openbabel
   * 访问地址: http://openbabel.org/wiki/Python
   * openbabel是转换分子建模和计算化学中各种数据格式的模块


 深入:: * SAGE:
Line 558: Line 575:
   * Software for Algebra and Geometry Experimentation ~ 代数与几何实验室! 是使用 Python 语言编写的数学方面专用模块,并使用交互式的 Python Shell 作为其用户界面. SAGE 的独特之处在于,它能够用作其他各种计算机代数系统的集成器,从而允许用户利用不同软件包的各自强项.     * Software for Algebra and Geometry Experimentation ~ 代数与几何实验室! 是使用 Python 语言编写的数学方面专用模块,并使用交互式的 Python Shell 作为其用户界面. SAGE 的独特之处在于,它能够用作其他各种计算机代数系统的集成器,从而允许用户利用不同软件包的各自强项.
Line 563: Line 581:
python加速:: Psyco/Pyrex
  * Psyco:
  * 访问地址: http://psyco.sourceforge.net/
  * 精巧地址: http://bit.ly/3jrshT
  * 一个Python代码加速度器, 可使Python代码的执行速度提高数倍

  *pyrex: 将核心算法代码转化为C,获取较快的计算速度

TableOfContents

status

草稿

ZoomQuiet,Liz

完成度:99%

Python 资源索引

经过十数年的发展积累,Python 应用的触角早已深入了各个领域! 在网络中的资源也浩如烟海:

  • 图atta2-1 使用Google 搜索Python 时的反馈

attachment:2008-10-14-google-python.png

在此行者们也只能根据自己的实际开发体验,推荐一些常见领域的优秀资源给好奇的读者们;-)

以下,使用粗略的领域分类,来展示不同层次相关应用的Python 技术:

Py 语言自身

就Python 语言本身的学习参考资源

常备
深入
前沿
  • Python 是个高速发展的语言,本身在进行什么样的发展?未来将会如何?都是应该深入关注的:
  • Python Enhancement Proposals
    • 访问地址: http://www.python.org/dev/peps/

    • 精巧地址: http://bit.ly/fwcW8

    • Python 增进提案库 ~ 缩写 PEPs ; 是Python 最前沿和最官方的特性讨论中心,关心Python 未来趋势,以及现有技术细核的读者,应该认真学习;
  • Python 3000 进度报告
  • Stackless.com
    • 访问地址: http://www.stackless.com/

    • 这是针对传统 CPython 对于线程保守态度的一个积极应对;通过对C语言实现的Python 进行小的改进,获得了:
      • 简化的线程开发
      • 微线程扩展支持
      • 并发建模工具
    • 而且和 CPython 是完全二进制兼容的,可以使用所有传统Python 的模块
    • 而且已经在一些企业级情景中得到了应用,经典的有:
      1. EVE Online ~ 大型多人在线实时战略游戏 http://www.eve-online.com/

      2. Sylphis3D ~ 3D游戏引擎 http://devnet.sylphis3d.com/

  • PyPy

Py 文本处理

文可文,非常文. 本可文,非常本. 文本,数据之始;字符,万思之母...~对文本的处理是最基础和最常见的任务,这方面Python 有大量的愉快体验:

常备
深入
  • 有关文本处理的专门话题:
  • Text Processing in Python:
  • 结构化文本支持:
前沿

Py 数据库应用

只要是个产品化系统,多少都得和数据库打交道,Python 一直有全面支持:

常备
深入
前沿

Py 网络应用

进入互联网时代,和网络资源互动是基础要求,这方面 Python 有各种方面的支持:

常备
深入
前沿

Py 嵌入系统

上网已经不在是电脑的专利,越来越多的设备/设施在联入网络,提供数据和接受控制,Python 在这方面也非常适合:

常备
前沿
  • 对于更加广泛的有嵌入式GNU/Linux系统的设备,Python 同样可以进驻!
  • 沈崴路由器建站教程 - 沈崴 - 网易博客
  • Telit 是一家专业设计和生产无线模块产品的公司,值得注意的是,它几乎在所有的最新产品中集成了嵌入式Python解释器,这样使用者就可以使用Python脚本快速地开发应用,这些Python脚本可以保存在模块内部运行,而不用另外的MCU去和模块进行AT命令交互;

Py 多媒体支持

图形桌面是人们最经常接触的界面,多媒体应用更加是人们最喜爱的应用,这方面Python 也有不凡的支持:

常备
深入
前沿

...都有Python 的扩展系统,以便设计师经过少量的学习后就可以利用脚本快速扩展出需要的特效插件来!

  • Inkscape PythonModules

  • pySonic
  • TextAloud

  • PyMedia - Python module for avi, mp3, dvd, wma, ogg processing

  • pygame - python game development
    • 访问地址: http://www.pygame.org/news.html

    • 精巧地址: http://bit.ly/3DDJPm

    • 是基于SDL 的游戏开发综合支持模块;可以快速开发跨平台的多媒体游戏!
    • SDL ~ Simple DirectMedia Layer 库;是为数不多的商业游戏开发公司使用的免费软件库之一. 它提供跨平台的二维帧缓冲区图形和音频服务,它支持 Linux/Win32 和 BeOS. 也不同程度地支持其它平台,包括 Solaris/IRIX/FreeBSD 和 MacOS. 除了大量的服务,包括线程/独立于字节存储次序的宏和 CD 音频,SDL 还提供了一个简单的 API,它允许您尽可能接近本机硬件. 使用 SDL 有三重优点:稳定/简单和灵活.

Py 应用扩展

原有系统的扩展/融合,使用 Python 这般优秀的"胶水语言"来粘合新系统非常的轻松:

常备
  • C/C++ 到Python,一般有两种基本模式:
    • 扩展:最终用户运行Python解译器程序,并导入用C++编写的Python"扩展模块". 想像一个C++写的库,给它一个Python接口, 这样Python程序员就可以使用它. 从Python来看,这些模块就像是常规的Python模块;

    • 内嵌:最终用户运行C++写的程序,反过来调用Python解译器,就像调用一个库函数. 想像一下为现有的应用程序加入脚本能力;

    • Swig:
      • 访问地址: http://www.swig.org

      • 是一个自动的扩展构造工具. 它读入注释的C/C++头文件,为python/tcl/perl等多种脚本语言产生wrap代码. SWIG可以包装大量C++特性到Python的扩展模块中.
    • SIP, a Python/C++ Bindings Generator
      • 访问地址: http://www.controlvideo.de/sip/

      • 精巧地址: http://bit.ly/Nb0RR

      • 由Phil Thompson创建,是一个C++模块构造器,专门为C++的类创造wrapper. 它曾经被用于创建PyQt和PyKDE扩展模块,因此比较出名. 支持C++特征很齐全,但比较复杂

    • Boost Python Library
      • 访问地址: http://www.boost.org

      • 由David Abrahams创建. 该库提供了更多与众不同的C++ wrap到python扩展中,而只需要对要扩展的C++类写很少的附加信息. Boost为C++提供了许多实用的库,如Regex(正则表达式库)/Graph(图组件和算法)/concept check(检查泛型编程中的concept)/Thread(可移植的C++多线程库)/Python(把C++类和函数映射到Python之中)/ Pool(内存池管理)等等. Boost总体来说是实用价值很高,质量很高的库. 并且强调对跨平台的支持. 但是Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎.
  • Python 到 C:ctypes
    • 访问地址: http://python.net/crew/theller/ctypes/

    • 精巧地址: http://bit.ly/3yjAHy

    • ctypes是一个Python模块,使用他可以在Python中创建和操作C语言的数据类型,这样可以在动态链接库中传递参数到C的函数中去;ctypes可以在windows/linux等多个平台上使用,甚至支持Windows上的COM开发
  • Python 到 Fortran:pyfort

  • Python 到 Perl:PyPerl

深入
前沿

Py 科学计算

支持科研方面,Python 也从来没有落后:

常备
*NumPy/SciPy/Matplotlib/ipython/openbabel:
深入
* SAGE:
  • 访问地址: http://sagemath.org/

  • 精巧地址: http://bit.ly/3SNn9Z

  • Software for Algebra and Geometry Experimentation ~ 代数与几何实验室! 是使用 Python 语言编写的数学方面专用模块,并使用交互式的 Python Shell 作为其用户界面. SAGE 的独特之处在于,它能够用作其他各种计算机代数系统的集成器,从而允许用户利用不同软件包的各自强项.

python加速:: Psyco/Pyrex

Py 行业应用

Python 在各种行业,一直有经典的支持:

常备
深入
  • Zenoss
    • 访问地址: http://www.zenoss.com/

    • 被sourceforge评为2007年3月的明星项目!是基于Zope(纯Python平台)实现的企业级IT管理软件!
    • 是智能监控软件,他允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度.可以发现和管理公司IT环境的各类资产(包括服务器、网络、和其他结构设备). Zenoss可以创建关键资产清单和对应的组件级别(接口、服务、进程,已安装的软件等). 建立好模型后,就可以监控与报告IT架构中各种资源的状态和性能容限了. Zenoss同时提供与CMDB关联的事件和错误管理系统,以协助提高各类事件和提醒的管理效率. 以此提高IT管理人员的效率!
  • scons
    • 访问地址: http://www.scons.org/

    • Java有Ant这个巨火的构建工具,而在Python就是scons了!
    • 简单点说,就是一个替代“autotools + make”的编译工具;用Python语言写的 -- 配置文件也是python,能够在多平台上工作;支持并行编译、ccache等技术,能有效提供编译速度;
前沿
  • Tribon Solutions ~ Python Success Stories
  • Ice for Python
    • 访问地址: http://www.zeroc.com/icepy.html

    • 精巧地址: http://bit.ly/18rWrB

    • ZeroC发布的面向网格计算的Ice(Internet Communications Engine),支持复制/负载均衡及应用程序的分发,并提供了一个网格应用程序维护管理工具;同样有 Python 的支持,可以快速完成类似 SETI@home 的分布式计算应用!

Py 教育支持

十年树木,百年树人. 国之大计,教育为本! Python 以其好学易用的特性,在教育的各个方面有出色的支持:

常备
  • 程序开发中文教学支持:
  • 中蟒(中文 Python)编程语言
  • 周蟒
    • 访问地址: http://code.google.com/p/zhpy/

    • 精巧地址: http://bit.ly/q0wVN

    • 是Python 语言的"替身"(借用一部日本漫画中的专用名词来定义);又名zhpy,是一个轻量的,与 Python 语言互相兼容的中文 Python 语言; 让使用者可以使用纯中文语句 (繁体或简体) 来编写程式; 周蟒中文编程语言的目标是协助使用者透过中文编程语言学习编程语言,进而接触世界上大部份的编程语言,而不是脱离现实世界;

    • 周蠎,其实就是一个纯Python 应用,相当于用Python 实现了一个可以自动翻译中文脚本为E文脚本的编译器,从而可以包裹在Python 语言之外,安全自然的支持中文编程,令广大没有学习过E文的人们,也可以享受Python 的简洁明快;
深入
前沿
  • 教育格局探索:
  • OLPC http://laptop.org/

    • One Laptop Per Child ~ 每个儿童一台笔记本电脑 计划是
    • 由MIT 发起的项目,旨在生产和发售低成本笔记本电脑给发展中国家的儿童,以便激发教育改革;为儿童们"学习获取知识"而特意设计的XO笔记本电脑,使用的桌面环境是 Sugar (简化版本的GNU/Linux);

    • attachment:Pippy-icon.png Pippy
    • 教程地址: http://wiki.laptop.org/go/Pippy

    • 精巧地址: http://bit.ly/UjyDx

    • 基于Sugar 桌面应用软件的主力开发语言就是Python,而 Pippy 就是Sugar 的应用接口仓库;

Py 集锦资源

有些资料是索引的索引,指向大量网站和索引,帮助大家快速了解Python 的丰厚,特此推荐:

  1. Python 快速介绍Limodou和Zoom.Quiet 合写

  2. 有关Python 的成功故事 官方网站收集组织

  3. The Vaults of Parnassus: Python Resources
  4. Python Starship

资源回收

无法分类,或不是完备的资源指引


反馈

创建 by -- ZoomQuiet [DateTime(2008-06-17T14:23:01Z)]

PageComment2

[:/PageCommentData:PageCommentData]

ObpLovelyPython/LpyAttach2ResIdx (last edited 2009-12-25 07:14:51 by localhost)