第 3 课 Python 的字符串与列表
前面的课程中,我们通过Mu软件编程工具让Python做了一些基本的运算,并且学习了变量的概念以及使用。在这一课程里,我们会继续学习Python编程中的另一些内容:字符串(string)、列表( list )。你会学到字符串是用于在程序中显示消息的(比如在游戏里“准备”和“游戏结束”这样的消息),其实上一次的课程我们已经见过了Python字符串,当时我们可能还不知道这一名称,这节课我们将对字符串做更加广阔的学习。本次课你还会学到列表,列表( list )可谓是我们Python用来存储成批东西,使用频率非常的高,让我们一起学习新的知识内容吧!
3.1字符串——strings
在编写程序的术语中,我们通常把文字称为“字符串”(string )。如果你把字符串想象成一堆字的组合的话,这个名字还是挺形象的。本书中的所有的字、数字以及符号都可以是一个字符串。并且你的名字也可以是个字符串,你家的地址也是。事实上,我们创建的第一个 Python程序也用到了一个字符串“Hello World!”。
3.1.1创建字符串
在Python中,我们通过给文本添加引号的方式来创建一个字符串。把文字用引号括起来就创建了字符串。像这样:
输入代码# 在这里写上你的代码 :-)
myName = "my name is ruiQu crazyRobot"
注意,引号一定是英文半角”” 的引号形式,而非中文全角“”的引号形式。然后,在Python中要看看myName里放的是什么,只要在Python输入 print(myName),就像这样:
输入代码# 在这里写上你的代码 :-)
myName = "my name is ruiQu crazyRobot"
print(myName)
运行结果
运行结果
注:以后的运行结果图片,我们只使用程序编辑与运行输出两个窗口。
你也可以用单引号来创建一个字符串,像这样:
输入代码# 在这里写上你的代码 :-)
myName = 'my name is superMan'
print(myName)
运行结果
运行结果
要注意的是:如果你只用一个单引号(’)或者双引号(”)来输入超过一行的文字,或者用一种引号开头并尝试用另一种引号结尾的话,我们的Mu软件代码就会用醒目的颜色提醒你的代码输入有误,例如:
输入代码# 在这里写上你的代码 :-)
address = '安徽省 合肥市
print(address)
运行结果
运行结果
该图是上面输入代码运行的结果,在输入代码的过程中我们其实已经发现了问题,我们在使用字符串对地址address赋值的时候,故意只用了一个单引号(’),立刻就会看到红色背景的提示,这种提示在Mu软件里表示的是一种错误警告,如果我们没有检查,直接点击程序运行,程序无法正常运行。
看了错误的提示信息后,我们应该能粗略的懂得,在程序的第二行(line 2),在字符串创建的时候出现了问题,这样我们就能迅速的定位到错误代码发生的位置,改正它!以下是修改正确后的结果。
输入代码# 在这里写上你的代码 :-)
address = '安徽省 合肥市'
print(address)
运行结果
运行结果
3.1.2字符串问题处理
现在来看看一个乱七八糟的字符串例子,它会让Python显示一条错误信息:
输入代码# 在这里写上你的代码 :-)
words = 'he said, "Hi I'm ten years old,what's your name?"'
print(words)
运行结果
运行结果
在程序第二行,我们想要创建一个由单引号括起来的字符串(变量的名叫words,但是其中混着一些带有单引号的词I'm和what's,还有一对he said后面的双引号。太乱了!要记住Python可没有人那么聪明。当Python看到一个引号时(无论是单引号还是双引号),它期望在同一行的后面是一个从第一个引号开始到下一个对应的引号(无论是单引号还是双引号)结束的字符串。在这个例子中,字符串是从Hi之前的一个单引号标记开始,对于Python来讲,这个字符串的结尾是在I’m的I之后的那个单引号。
Mu中的最后一行告诉我们出现了什么类型的错误。在本例中,这是个语法错误。
使用双引号来代替单引号的话,仍然会产生错误:
输入代码# 在这里写上你的代码 :-)
words = "he said, "Hi I'm ten years old,what's your name?""
print(words)
运行结果
运行结果
这一次,Python看到了一个由双引号括起来的字符串内容为:He said,(结尾还有一个空格),做了更改后还是发生了错误。这是因为从 Python 的角度来讲,所有这些额外的东西根本就不应该在那里。Python只知道要找到下个对应的引号,但却不知道你写在同一行上的后面的那些东西是想做什么。
解决这个问题的方法就是用多行字符串,就是使用三个单引号(’’’