Python 入门
Crossin先生
“Crossin的编程教室”发起人。 用浅显易懂的方式带你进入编程世界的大门。 欢迎加入Crossin的编程教室,编程世界的新手村。 每天5分钟,一起学编程。 Python 入门和进阶课程正在进行中。

简介

作者尚未书写全书简介

此小书在「一本册子」网站制作发行。长按右侧二维码关注「一本册子」公众号,发现更多精彩内容,回复【领书】免费领取热门好书

一、老司机带你上路
Why Python?
为什么用Python作为编程入门语言?
原因很简单。
嗯。。。原因就是,很简单。。。
每种语言都会有它的支持者和反对者。去Google一下“why python”(程序员准则:要Google不要百度。虽然我平时也都用百度来搜八卦新闻,但有关编程的东西真的搜出来结果差很多),你会得到很多结果,诸如应用范围广泛、开源、社区活跃、丰富的库、跨平台等等等等,也可能找到不少对它的批评,格式死板、效率低、国内用的人很少之类。不过这些优缺点的权衡都是程序员们的烦恼。作为一个想要学点编程入门的初学者来说,简单才是最重要的。当学C++的同学还在写链表,学Java的同学还在折腾运行环境的时候,学Python的你已经像上图一样飞上天了。
当然,除了简单,还有一个重要的原因:因为我现在每天都在写Python。虽然以后可能会讲些手机编程之类(如果真的有那么一天π_π),但目前这时候,各位也就看菜吃饭,有啥吃啥了。每天5分钟,先别计较太多。况且Python还是挺有利于形成良好编程思维的一门语言。
推荐两本我个人比较喜欢的Python入门书籍,一本是《简明Python教程》,点击最下方的“阅读原文”可以看到它的在线版。我自己最开始就是看着它学的,接下来也会大体参考里面的内容讲。另一本是《Head First Python》,Head First系列都是非常浅显易懂的入门类书籍,虽然我只瞄过几眼,但感觉还是不错的。
Phthon安装
在Windows系统上安装Python的方法还算简单,比平常装个软件稍稍麻烦一点。进入Python的官方下载页面Python.org/download,你会看到一堆下载链接。我们就选“Python 2.7.5 Windows Installer”,如果是64位系统的同学选下面那个“Python 2.7.5 Windows X86-64 Installer”。为什么不选最上面那个3.3.2的新版本?因为我在用python2.7.x,python3改了不少地方,不熟。
下载之后,就和装其他软件一样,双击,一路Next,想换安装路径的同学可以换个位置。但不管换不换,请把这个路径复制下来,比如我的是“C:\python27\”,后面要用到它。
安装结束还没完,我们还差最后一步:设置环境变量。这是什么东西我暂时先不解释,大家照着做就好。右键单击我的电脑(不,是你的电脑),依次点击"属性"->"高级"->"环境变量",在“系统变量”表单中点击叫做Path的变量,然后编辑这个变量,把“;C:\Python27\”,也就是你刚才复制的安装路径,加到它的结尾。注意!要用英文分号和前面已有的内容隔开。然后点确定,点确定,再点确定。完成。
怎么知道你已经成功安装了Python呢?这时候你需要打开命令行,或者叫命令提示符、控制台。方法是:点击开始菜单->程序->附件->命令提示符;或者直接在桌面按快捷键“Win+r”,Win键就是Ctrl和Alt旁边那个有windows图标的键,输入cmd,回车。这时候你就看到可爱的黑底白字了。
在命令行里输入python,回车。如果看到诸如:
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
的提示文字,恭喜你!否则,请重新检查你哪里的打开方式不对,或者直接给我留言。
接下来,你就可以输入那句程序员最爱的
print “Hello World”
向Python的世界里发出第一声啼哭。
嗯。。。如果这么几步你还是被绕晕了,没关系,我还留了一手:打开你的浏览器,Google一下“python online”,点击第一条结果“Execute Python Script Online”;或者直接打开compileonline.com,找到Python点进去。这是一个在线的python运行环境,你可以在这里练习,无需任何下载安装配置。左边页面是写代码的地方,点击左上角的“Execute Sctipt”,就可以在右边页面看到输出结果。在本篇文章的最后,点击“查看原文”,你也可以从微信里直接进入,如果你的手机屏幕足够大。。。
那Mac和Linux的同学怎么办?直接打开你们的控制台,输入Python吧!
print
昨天大家是不是都在自己的电脑上搞定了python环境?或是试用过了在线环境?对了,这里补充两点:我今天发现昨天提供的compileonline.com网站有时候会很慢,甚至无法正常运行,于是我又找了一个:pythonfiddle.com,似乎要快一点,不过好像只能在电脑上的浏览器打开。另外就是,昨天忘了给Mac的同学们说一下怎么打开命令行。Mac上叫做“终端”或者“Terminal”,可以在“应用程序”里找到,也可以直接在“spotlight”里直接输入“Terminal”打开。打开后就可以通过“python”命令进入开发环境了。
#======== print========#
今天要讲的东西,昨天课上大家已经见过,就是:print(注意:全是小写字母)。
print,中文意思是打印,在python里它不是往纸上打印,而是打印在命令行,或者叫终端、控制台里面。print是python里很基本很常见的一个操作,它的操作对象是一个字符串(什么是字符串,此处按住不表,且待日后慢慢道来)。基本格式是:
   print 你要打印的东西
或者
   print(你要打印的东西)
这里一定要英文字符的括号,所有程序中出现的符号都必须是英文字符,注意别被你的输入法坑了。
各位同学可以在自己的python环境中试着输出以下内容:
>>> print "hello"
   hello
   >>> print 'world'
   world
   >>> print 1
   1
   >>> print 3.14
   3.14
   >>> print 3e30
   3e+30
   >>> print 1 + 2 * 3
   7
   >>> print 2 > 5
   False
直接在print后面加一段文字来输出的话,需要给文字加上双引号或者单引号。大家发现,print除了打印文字之外,还能输出各种数字、运算结果、比较结果等。你们试着自己print一些别的东西,看看哪些能成功,哪些会失败,有兴趣的话再猜一猜失败的原因。
其实在python命令行下,print是可以省略的,默认就会输出每一次命令的结果。就像这样:
   >>> 'Your YiDa!'
   'Your YiDa!'
   >>> 2+13+250
   265
   >>> 5<50
   True
今天内容就这么多。没听出个所以然?没关系,只要成功print出来结果就可以,我们以后还有很多时间来讨论其中的细节。
#======== 小游戏========#
昨晚我想了下,如果只是单纯一个个语法、命令讲过去,实在太枯燥了。所以我决定设定一个短期目标,吊一下大家的胃口。
这个短期目标就是一个很简单很弱智的小游戏:
   COM: Guess what I think?
   5
   COM: Your answer is too small.
   12
   COM: Your answer is too large.
   9
   COM: Your answer is too small.
   10
   COM: BINGO!!!
解释一下:首先电脑会在心中掐指一算,默念一个数字,然后叫你猜。你猜了个答案,电脑会厚道地告诉你大了还是小了,直到最终被你果断猜中。
这是我十几年前刚接触编程时候写的第一个程序,当时家里没有电脑,在纸上琢磨了很久之后,熬到第二个星期的电脑课才在学校的486上run起来。后来我还写过一个windows下的窗口版本。现在就让它也成为你们第一个完整的程序吧。照我们每天5分钟的进度,初步估计半个月后大约能完成了。
IDE
昨天的课发出去之后,有不少同学发来了反馈,有完成截屏的,也有遇到问题的。一些问题突然让我意识到,很多地方自己描述得不是很到位,会产生歧义,或者干脆就很难听懂。比如:
我自己不是Mac党,手边也没有Mac,所以不知道Mac上还有控制台(console)和终端(Terminal)之分。我想说的其实是终端。Mac的同学们可能要多自己摸索一下了。
另外我之前说了命令行下和在线编辑器两种输代码的方式,但其实这两种是不太一样的。(今天接下来会提到)我在文章里面的例子是在命令行里一行一行的输入得到的效果,有同学误以为全都是输入,贴到在线编辑器里,然后,就没有然后了。
因此在这里,我特别要申明一下:如果你发现照我说的去做,没有得到预期的结果,那多半是我没说清。千万不要觉得为什么编程这么难,搞了半天也不对。导致错误的原因,往往只是一点点小偏差,稍微改一下就好了。
#======== IDE ========#
什么是IDE?英文叫做Integrated Development Environment,中文就是集成开发环境。嗯,等于没说。
打个不恰当的比方,如果说写代码是制作一件工艺品,那IDE就是机床。再打个不恰当的比方,PS就是图片的IDE,Word就是doc文档的IDE,PowerPoint就是ppt文件的IDE。python也有自己的IDE,而且还有很多。
python自带了一款IDE,叫做IDLE。先说Windows,Windows上安装了之后,可以在“开始菜单”->“程序”->“Python 2.7”里找到它。打开后之后很像我们之前用过的命令行。没错,它就是的,在里面print一下试试。不知之前用命令行的同学有没有注意到,命令行输一行命令就会返回结果,而且之前print了那么多,关掉之后也不知道到哪里去了。所以它没法满足我们编写弱智小游戏的大计划。我们需要用新的方法!
点击窗口上方菜单栏的“File”->“New Window”,会打一个长得很像的新窗口,但里面什么也没有。这是一个文本编辑器,在这里面就可以写我们的python程序了。继续print几行,这次可以多print一点:
   print 'Hello'
   print 'IDE'
   print 'Here I am.'
现在是,见证奇迹的时刻!点击“Run”->“Run Module”,或者直接按快捷键F5。会提示你保存刚才文件,随便取个名字,比如“lesson3.py”。(.py是python代码文件的类型,虽然不指定.py也是可以的,但建议还按规范来)保存完毕后,之前那个控制台窗口里就会一次性输出你要的结果。
以后想再次编辑或运行刚才的代码,只要在IDLE里选择“File”->“Open...”,打开刚才保存的.py文件就可以了。
Mac上的IDLE是预装好了,在“终端”里输入“IDLE”就可以启动,使用方法同Windows。也可以在文件夹/usr/bin里可以找到IDLE。如果是重新下载安装了python,似乎是可以在“应用程序”里找到IDLE的,Mac的同学可以验证下。
另外,Windows下有一个第三方的免费IDE,叫PyScripter,把文件目录、文本编辑器、命令行都整合到了一起,还增加了很多辅助功能。有兴趣的同学也可以去找来试试看。地址:http://code.google.com/p/pyscripter/。 用起来应该比IDLE方便,但有一点要注意,它的安装位置和.py文件的保存位置都不要有中文,不然可能会有问题。
今天的内容有点长。配置开发环境这种事最麻烦了,大家耐心一点,毕竟一次投入,长期受益。以后我们的课程都会在IDE中进行,基本不再往命令行里直接敲代码了。
最后说下,有很多python程序员都不使用任何IDE。至于原因嘛,可能就像优秀的手工艺人是不会用机床来加工艺术品的吧。
输入