好长的标题……
从scipy lecture notes引言翻译。这是篇python 做科学计算的水文……
作者:Fernando Perez, Emmanuelle Gouillart, Gaël Varoquaux。感谢他们贡献了如此棒的教材。
目录
科学家们用什么工作?
编译语言:C,C++,Fortran等等
&, ::, }}, ;
等等),人工内存管理(C中很棘手)。这些对非计算机科学家是难懂的语言。脚本语言:Matlab
其它脚本语言:Scilab, Octave, Igor, R, IDL等等
Python怎么样
不像Matlab,Scilab和R,Python并不预先绑定一套科学计算模块。以下是用来搭建科学计算环境的基本构建模块:
IPython,一个高级Python shell http://ipython.scipy.org/moin/
Numpy,提供强大的数值数组对象和操作它们的程序。http://www.numpy.org/
Scipy:高水准的数据处理程序。优化、回归、插值等等。http://www.scipy.org/
Matplotlib:二维可视化,“出版水准”的绘图。http://matplotlib.sourceforge.net/
交互工作来测试和理解算法:在这一部分,我们描述一个使用IPython交互工作流,这很方便探索和理解算法。
Python是一种通用语言。因此,没有一个得天独厚的工作环境,使用它的方式不只一种。尽管这让初学者很难找到自己的路,但让Python可能被用来在服务器上或嵌入设备上写程序。
注解:这部分的参考文档:
IPython用户手册:http://ipython.org/ipython-doc/dev/index.html
启动ipython:
In [1]: print('Hello world')
Hello world
获得帮助1:
In [2]: print?
Type: builtin_function_or_method
Base Class:
String Form:
Namespace: Python builtin
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
在文本编辑器中创建一个文件my_file.py
。在EPD(Enthought Python Distribution)2中,你可以使用从开始菜单使用Scite。在Python(x,y)中3,你可以使用Spyder。在Ubuntu下,如果你还没有喜欢的编辑器,我们建议安装Stani’s Python editor。在这个文件中,添加以下行:
s = 'Hello world'
print(s)
现在,你可以在IPython中运行和探索结果变量:
In [3]: %run my_file.py
Hello word
In [4]: s
Out[4]: 'Hello word'
In [5]: %whos
Variable Type Data/Info
----------------------------
s str Hello word
从脚本到函数
虽然只用一个接一个指令的脚本工作很诱惑,但请逐渐将脚本改进成一套函数:
- 一个脚本不可复用,但函数可以。
- 以函数式思考益于将问题分解。