欢迎来到python 入门笔记¶
本文档是一个合作编写的python入门手册。主要分为三大部分:
- 前期准备:svn基本使用。Sphinx文档工具的使用。
- python 基本语法。
- 最后将注意力集中在python在数值计算中的应用。
文档托管在google code上:
http://code.google.com/p/python-prime-learning-notes/
Contents:
前期工作¶
本章主要内容主要是为合作写笔记做的一些前期工作,不涉及python语言的具体内容。
Contents:
SVN 版本管理工具¶
基本介绍¶
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。 我们将用这个工具来共同维护这个学习笔记。关于这个工具的具体细节,我们不需要了解很多,只要会基本的使用就可以了。
使用SVN¶
Linux 下使用SVN¶
- 安装程序包 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
- 最基本(也是最常用)的命令有
a. 更新,获取最新版本
$svn update
b. 提交,提交你的修改
$svn commit
c. 添加,添加文件到版本管理中
$svn add filename
d.查看信息
$svn info
Windows下使用SVN¶
- 下载,安装TortoiseSVN。和普通windows软件一样安装。安装完之后,Toisesvn没有单独的软件界面,而是集成到你的文件浏览器里面的。
- 使用起来非常方便,打开文件浏览器,所有细节都在右键菜单里面。只需知道下面几个命令的含义就可以了:
- Checkout: 获取代码。
- Update: 更新代码。
- Commit: 提交修改。
打开你要放置代码的目录->点击右键->SVN Checkout->在url里面填入svn地址->点OK。就获取到我们的代码了。 svn地址:
http://python-prime-learning-notes.googlecode.com/svn/trunk/
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里面的东西都包含进来了。
在这里对想想文档里提交自己的内容的同学提个要求: 每个文件不要太长。主要是为了方便他人的修改。
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