欢迎来到python 入门笔记

本文档是一个合作编写的python入门手册。主要分为三大部分:

  1. 前期准备:svn基本使用。Sphinx文档工具的使用。
  2. python 基本语法。
  3. 最后将注意力集中在python在数值计算中的应用。

文档托管在google code上:

http://code.google.com/p/python-prime-learning-notes/

Contents:

前期工作

本章主要内容主要是为合作写笔记做的一些前期工作,不涉及python语言的具体内容。

Contents:

SVN 版本管理工具

基本介绍

svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。 我们将用这个工具来共同维护这个学习笔记。关于这个工具的具体细节,我们不需要了解很多,只要会基本的使用就可以了。

使用SVN

Linux 下使用SVN
  1. 安装程序包 subversion

ubuntu:

$sudo apt-get install subversion

archlinux:

$pacman -S subversion

...

2. 然后,小组成员用svn命令来获取我们的笔记了

$svn checkout https://python-prime-learning-notes.googlecode.com/svn/trunk/ python-prime-learning-notes --username xxxx@gmail.com

(其中xxxx@gmail.com是你的gmail账号,请相关成员告诉我你的gmail账号,然后我把你加入到这个小组中)

如果只是获取不需要提交权限的话:

$svn checkout http://python-prime-learning-notes.googlecode.com/svn/trunk/ python-prime-learning-notes-read-only
  1. 最基本(也是最常用)的命令有

a. 更新,获取最新版本

$svn update

b. 提交,提交你的修改

$svn commit

c. 添加,添加文件到版本管理中

$svn add filename

d.查看信息

$svn info
Windows下使用SVN
  1. 下载,安装TortoiseSVN。和普通windows软件一样安装。安装完之后,Toisesvn没有单独的软件界面,而是集成到你的文件浏览器里面的。
  2. 使用起来非常方便,打开文件浏览器,所有细节都在右键菜单里面。只需知道下面几个命令的含义就可以了:
  1. Checkout: 获取代码。
  2. Update: 更新代码。
  3. Commit: 提交修改。

打开你要放置代码的目录->点击右键->SVN Checkout->在url里面填入svn地址->点OK。就获取到我们的代码了。 svn地址:

http://python-prime-learning-notes.googlecode.com/svn/trunk/

参考资料

subversion其实没这么简单。有必要的时候可以通过下面途径深入了解。

  1. Google
  2. http://www.subversion.org.cn

python 的安装与初步

目前python已经出了3.x版本了,但是很多软件包都还停留在python2.x时代。 由于我们学习主要目的除了平时写点小脚本以外,就是使用他丰富的软件包资源,我们选择python2.7作为我们的学习版本。

linux 下的安装

大多数linux发行版都是自带python的。只要在终端里面输入python+回车,就可以看到python的交互终端了。 有的以python3为默认版本,这时候运行python2.x,运行python2.x的命令就有可能是python2。 运行交互界面的时候,终端上会提示你所使用的版本。

另外python还有很多其他的高级版本的交互终端。我个人比较喜欢的是ipython,它会有一些特性,比如命令历史记录。

python的软件包如果在软件源中有的话通常名字都是 python-xxx,xxx就是软件包的名字。例如我们这个文档工具:python-sphinx

在软件源中没有的软件包或者下载安装包安装,或者用easy_install安装。

下载安装包自己安装的话,解压之后,打开目录,里面通常有一个文件setup.py, 用下面命令安装:

$sudo python setup.py install

你懂得, 有时候不用加sudo。

windows 下的安装

下载安装文件->双击安装->修改PATH环境变量。 下载地址

修改PATH环境变量在原来的PATH环境变量后面加上 python.exe所在的目录。

安装软件包可以用 easy_install 或者下载安装。

另外,Windows下大家习惯了窗口模式,在此,我推荐安装 python(x,y) 以及其开发环境 spyder

python(x,y)收集了很多函数库(比如有我们以后要用到的numpy,scipy等)及文档、教程,也提供了方便的启动界面。安装好python(x,y)之后就可以安装spyder,相比与其他的python IDE 它最大的特点就是类似与matlab的的工作界面,一目了然。

Sphinx 文档工具

Sphinx是python的文档工具,也非常适合用于记笔记,所以我们这次学习选择python-sphinx就无可厚非了。 下面我简单介绍一下这个工具,希望大家能在最短的时间内学会使用这个工具。

首先安装sphinx

ubuntu:

$sudo apt-get install python-sphinx

arch:

$sudo pacman -S python-sphinx

或者:

$easy_install sphinx

然后终端中进到docs目录里,运行下面命令试试:

$make html

然后你会在docs/_build/html目录里看到生成的html版本的文档。

如何写Sphinx文档

Sphinx文档使用的是标记语言 reStructuredText 。 如果你是浏览的是网页版本的笔记,可以在侧边栏点击Show Source链接查看这个文档的 reStructuredText 源码。

这里有一个非常简明的 reStructuredText 入门文档 这个简明教程里面的内容完全够我们使用了。看完学会用,估计不过一两个小时时间吧。

如果小组里面有同学可以贡献时间翻译一下最好不过了,也可以去看看 reStructuredText快速参考

Sphinx当然不仅仅是 reStructuredText 他还有一些自己的特性,比如在文档中加入代码。具体到用到的时候去 http://sphinx.pocoo.org/ 查就可以了。

我们目前需要知道的就是sphinx的toctreeb的概念。toctree是用于组织各个rst文件之间的关系的。 你在index.rst里面可以看到一个toctree。我用了glob参数,然后写上 setout/*它就会自动把setout里面的东西都包含进来了。

在这里对想想文档里提交自己的内容的同学提个要求: 每个文件不要太长。主要是为了方便他人的修改。

参考资料

完整的入门教程:

http://sphinx.pocoo.org/tutorial.html

http://sphinx.pocoo.org/

Google

学新技术永远不要忘了google

python 基本语法

本章专注于通过练习来学习python的基本语法。

Contents:

开始使用python

安装python请查看 python 的安装与初步

首先用svn获取最新的本文档代码,或者下载 google-python-exercises.zip <../static/google-python-exercises.zip> 用于学习过程中的练习。

在linux上开始使用python

我们先来运行一个hello world看看cd到目录google-python-exercises里面:

~/google-python-exercises$ python hello.py
Hello World
~/google-python-exercises$ python hello.py Alex
Hello Alex

交互模式:

~/google-python-exercises]$ python
Python 2.7.3 (default, Apr 24 2012, 00:06:13)
[GCC 4.7.0 20120414 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>> 2**79
604462909807314587353088L
>>> 可以用ctrl-d退出python

再看看我推荐的ipython:

~/google-python-exercises$ ipython
Python 2.7.3 (default, Apr 24 2012, 00:06:13)
Type "copyright", "credits" or "license" for more information.

IPython 0.12.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: 1+1
Out[1]: 2

In [2]: 2**79
Out[2]: 604462909807314587353088L

In [3]:
Do you really want to exit ([y]/n)? y

在Windows上开始python

安装好python之后,打开一个“命令提示符”: 程序->附件->命令提示符。或者xp:开始->运行->cmd+回车, win7: 在开始目录的输入框里输入cmd+回车即可。

然后cd到google-python-exercises目录里面运行python:

C:\google-python-exercises$ python hello.py
Hello World
C:\google-python-exercises$ python hello.py Alex
Hello Alex

如果有上面结果就说明你的python安装好了。如果你安装python过程中出现问题,到math.yeshiwei.com里面讨论吧。

同样可以运行python命令进入交互模式, ctrl+Z退出交互模式。

编辑python文件

pyhont程序就是一个文本文件,你可以直接编辑它。上面”python hello.py”就是运行了一个python程序hello.py。

编写python程序最好有一个比较好的编辑器,帮助你自动缩进:

  • Windows – 不要用记事本写字板,用Notepad++就不错。
  • Linux – 各种编辑器都可以。vim, emacs...我用的是emacs。
编辑器设置

我们希望在你编辑python文件的时候,按tab键插入的是几个空格而不是一个制表符。google-python-exercises里面的文件都是以两个空格作为默认缩进的,在其他程序里面4个空格也很常见。编辑器有自动缩进功能能会非常方便,那样当你写完一行以后按回车,在新的一行里就自动和上一行有一样的缩进了。这里还推荐unix换行符。如果你运行hello.py的时候报错“Unkown option: -”的话, 说明文件的换行符可能出了问题。总之,可以如下设置你的编辑器:

  • Windows Notepad++ – Tabs: Settings > Preferences > Edit Components > Tab settings, and Settings > Preferences > MISC for auto-indent. Line endings: Format > Convert, set to Unix.
  • JEdit (any OS) – Line endings: Little ‘U’ ‘W’ ‘M’ on status bar, set it to ‘U’ (i.e. Unix line-endings)
  • Windows Notepad or Wordpad – do not use
  • Mac TextWrangler – Tabs: Preference button at the top of the window, check Auto Expand Tabs. Can set the default in Defaults > Auto-Expand Tabs and Auto-indent. Line endings: little control at the bottom of each window, set it to Unix
  • Mac TextEdit – do not use
  • Unix pico – Tabs: Esc-q toggles tab mode, Esc-i to turns on auto-indent mode
  • Unix emacs – Tabs: manually set tabs-inserts-spaces mode: M-x set-variable(return) indent-tabs-mode(return) nil

Indices and tables