
3.6 简短实例
打开Eclipse,按3.3节的方法在lab1这个工程里创建一个新文件,命名为Test2.py,然后把上面代码输入到文件中,注意,每行的前面的数字不需要输入。

第1行,i=0
我们定义了一个变量i,把它的初始值设为0。
Python中变量定义的规则如下:
(1)语法:(下画线或字母)+(任意数目的字母、数字或下画线)。
(2)变量名只能是字母、数字或下画线的任意组合。
(3)区分大小写,比如ii=0,II=1,这是两个不同的变量。
(4)变量名的第一个字符不能是数字,比如3Com=0,这个变量定义是非法的。
(5)保留字不能声明为变量名。
['and','as','assert','break','class','continue','def','del','elif','else', 'except','exec','finally','for','from','global','if','import','in','is','lambda', 'not','or','pass','print','raise','return','try','while','with','yield']
第2行while True:
开始了一个循环体,while后面是一个循环测试条件,测试条件之后是冒号“:”,每执行循序体一次就要再测试一下条件是否还满足,这个循序后面跟的是一个常数True,即永远满足的条件,那么这个循序体如果不通过break跳出,就会是一个一直执行下去的死循环。第3~7行,全部以4个空格并左对齐,构成一个循环体,这就是前面提到过的对齐规则,在执行完第7行最后一句print之后就会回到第二行继续执行。
第3行reply=input("Enter text:")
第3~7行构成循序体,第3行调用了系统的输入函数input(),它的函数参数是一个字符串"Enter text:",这个函数会在Console(命令行窗口)上把输入的字符串打印出来后,等待用户输入,一旦按回车键(Enter),输入结束,把输入的字符串赋给reply这个变量。之所以要有"Enter text:",就是为了提醒用户,如果不输入提示字符串,用户完全不知道计算机在等待用户的输入。
第4行if reply=="stop":break
判断用户刚才输入的字符串是否等于"stop",如果是就break,break就会立即跳出循环体而不再执行后面的语句。if是分支判断,reply=="stop"是判断条件,这种语句的句型通常是:

第5行print(reply.upper())
打印reply这个字符串,在打印之前会调用字符串的函数upper()把字符串转换成大写。注意这个优先级,括号()里面的优先级最高,会首先执行。
第6行i=i+1
把i+1赋给i,每循环一次就增加1,统计退出前循环了多少次。
第7行print("you have tried",i,"times")
打印一共循环了多少次。
这个程序里面出现了字符串,字符串的使用比较复杂,我们总结一下:
(1)可以用单引号、双引号(如"anything"、'anything')定义字符串,二者等效。
(2)反斜杠进行转义,比如我们需要一个字符串'it's him',字符串中本身出现了一个单引号和第一个单引号配对,造成字符串被截断了,这时可以通过在那个需要转义的单引号前加“\”,告诉Python解释器,那个单引号是字符串的一部分:'it\'s him'。
(3)三重引号做注释,三个双引号或单引号配对之间的所有内容都是注释,而且可以跨多行,比如下面的内容就全是注释,不会执行:

(4)字符串可以分片访问,其中的“1:3”,就是从第1个到第3个,不包括第3个,[:-1]就是到倒数第一个为止的意思。大家可以打开Python的命令行,仿照看看下面的实例,自己做一下实验。

(5)字符串还有很多方法可以调用(见表3-4),比如如果我们已经定义了T="hello"。
表3-4 方法调用及返回结果

还有很多其他的函数,可以在Python的Console里通过输入help(str)获得关于字符串的全部文档。也可以通过搜索引擎获得字符串的详细解释。后面我们用到的时候再讲解一些知识点。
从下一章开始我们逐步进行一些简单编程。