习题 1: 第一个程序

阅读原文

Warning
If you skipped Exercise 0 then you are not doing this book right. You must read every single thing I write here and read it carefully. For example, are you trying to use Python 3 for this book? I said in Exercise 0 to not use Python 3, so you should not use Python 3. Are you trying to use IDLE or an IDE? I said not to use one in Exercise 0, so you should not use one. If you skipped Exercise 0 please go back to it and read it.

你应该在练习 0 中花了不少的时间,学会了如何安装文本编辑器、运行文本编辑器、以及如何运行命令行终端,并且都浅尝则止地试用了一下它们。如果你还没这样做,那你就别继续了,因为接下来你不会又好日子过。这将是我在这本书中唯一一次在练习内容中警告你不应该跳过前面的内容。

将下面的内容写到一个文件中,取名为 ex1.py。注意这个命名方式,Python文件最好以 .py 结尾。


print "Hello World!"

print "Hello Again"

print "I like typing this."

print "This is fun."

print 'Yay! Printing.'

print "I'd much rather you 'not'."

print 'I "said" do not touch this.'

在所有的平台上,你的Atom都应该看起来像是酱婶儿的:

不用担心你的编辑器看起来跟这个不完全一样,只要看起来接近这种feel就好了。你可能有一个稍微不同的窗口标题,也许略有不同的颜色,以及您的Atom窗口的左侧不会显示“zedshaw”,但却显示你用于保存文件的目录。所有这些差别都是无伤大雅的。

当你创建python文件时,你要注意以下几点:

  1. 我并没有把左边的行号输进去。那些都是在书里打印出来的,所以我可以指定某一行来跟你说“你瞅瞅第5行 blablabla”。你不能把行号输入到Python脚本里。

  2. 第一行所显示的和我在ex1.py中所输入的是完全一样的。是完完全全彻头彻尾的一样,并不是看起来像而已。每个字符都应该和上面一样,颜色可以不同,只要你输入的字符一样就哦了。

输入以下内容并在 Terminal run 这个文件 :

python ex1.py

如果你写对了的话,你应该看到和下面 What You Should See 环节中一样的内容。如果不一样,那就是你弄错了什么东西。 不是计算机出错了,计算机不会出错。

What You Should See

在 Mac OS X 的 Terminal 你看到的应该是酱婶儿的:

在 Windows 的 PowerShell 你看到的应该是酱婶儿的:

python ex1.py命令前,你可能会看到不同的名字,但是重要的是你所输入的命令和跟我一样的输出。

如果你那出现了error 它会看起来像是酱婶儿的:

$ python ex/ex1.py
  File "ex/ex1.py", line 3
    print "I like typing this.
                             ^
SyntaxError: EOL while scanning string literal

It's important that you can read these error messages because you will be making many of these mistakes. Even I make many of these mistakes. Let's look at this line by line. 能够读懂这些error信息对你来说很重要,因为你以后还会犯类似的错误。就算是我现在也会犯这样的错误。让我们一行一行来看。

  1. 首先我们在命令行终端输入命令来运行 ex1.py 脚本。
  2. Python 告诉我们 ex1.py 文件的第 3 行有一个错误。
  3. 然后这一行的内容被打印了出来。
  4. 然后 Python 打印出一个 ^ (井号,caret) 符号,用来指示出错的位置。 注意到少了一个 " (双引号,double-quote) 符号了吗?
  5. 最后,它打印出了一个“语法错误(SyntaxError)”告诉你究竟是什么样的错误。通常这些错误信息 都非常难懂,不过你可以把错误信息的内容复制到搜索引擎里,然后你就能看到别人也遇到过这样的错误, 而且你也许能找到如何解决这个问题。

Warning
If you are from another country, and you get errors about ASCII encodings, then put this at the top of your Python scripts:

# -*- coding: utf-8 -*-

It will fix them so that you can use Unicode UTF-8 in your scripts without a problem.

Study Drills

你还会有 加分习题 需要完成。加分习题里边的内容是供你尝试的。如果你觉得做不出来,你可以暂时\ 跳过,过段时间再回来做。

在这个练习中,试试这些东西:

  1. 让你的脚本再多打印一行。
  2. 让你的脚本只打印一行。
  3. 在一行的起始位置放一个 '#' (octothorpe) 符号。它的作用是什么?自己研究一下。

从现在开始,除非特别情况,我将不再解释每个习题的工作原理了。

Note
井号有很多的英文名字,例如:'octothorpe(八角帽)','pound(英镑符)', 'hash(电话的#键)', 'mesh(网)' 等。


Copyright (C) 2010 by
Author: Zed Shaw
Translator:Zander Wong

results matching ""

    No results matching ""