3: 注释和引述

计算机程序就像是一种代码语言。计算机需要准确地识别出这些代码来理解编程者的指令是什么。但是,这些代码对于人来说很难理解。所以为了弥补这个缺陷,你可以在程序中写一些电脑会忽略的笔记。这些笔记叫做注释

在Python中,任何一行从#符号(井号)开始的代码代表注释的开始。这一行在井号之后的内容在运行的时候会被计算机忽略。下面是一个例子。

示例
注释的影响

因为第二行是以#号起始的,所以Python将这一行全都忽略了。因此2没有打印出来。常见的注释的作用包括:

  • 解释程序中的一部分,为了你和他人在以后的时间里理解这段程序;
  • 当你写一个比较长的程序时, 写下“要做些什么”的注释;
  • 暂时不运行(“注释化”)一行代码,而不是彻底删掉,这样在以后就可以很容易的把这行代码找回来

下面是一个例子。如果代码被改动地太多,想还原成最初地代码,那么请选择重置初始代码

编程练习: 计算秒数
调试这个程序,使其打印出一个礼拜里有多少秒。提示

字符串

字符串由一系列字母和数字组成。换句话说,是信息块。两边有引号作为保护:比如说,在第0课第一个程序里"Hello, World!"是一个字符串。如果井号#出现在字符串里,那么它不被当做是注释处理:

示例
一个包含#号地字符串。

这么做的原因是""内的东西被计算机认为是字符串文本,也就是说它只会被当成文本而复制,而不会被当做是指令。同样的,print("3 + 4")不会打印出数字7,而只会是字符串3 + 4

转义序列

在字符串中添加引号"会怎么样呢?如果运行print("I said "Wow!" to him"),就会导致错误:问题在于Python看到了一个字符串"I said ",紧接着是一个不是字符串的Wow!。而这种理解不是我们想要的!

Python 确实有两个简单的方法来在字符串中添加引号。

  • 字符串的两边是单引号,比如'blah blah'。然后,在中间使用双引号,比如'I said "Wow!" to him.'
  • 添加右划线和引号(\" or \'。这个叫做 转义序列,Python会自动忽略右划线,只把引号放到字符串里面。下面是一个例子。
    示例
    右划线保护着引号,但是右划线不会显示。

更进一步说,因为转义序列的存在,右划线(\)是一个特别的字符。所以为了在一个字符串中添加右划线,你需要用第二个右划线来"转义"。换句话说,你需要在字符串中打入\\

选择题练习: 转义序列
print("Backslashes \\ and single quotes \' and double quotes \" and pound signs # are awesome!")的输出值是什么?
正确!

编程练习: 转义练习
编写程序:

A double-quote's escaped using a backslash, e.g. \"
注:这个问题有多种解决方法(一贯如此)!比如说,可以将整个的字符串两边加上单引号或双引号。不论哪一种方法,都需要用到转义。为了达到更好的练习,尝试用两种方法解决这个问题。会有第三种解决方法么?

还有其他的转义序列,比如"换行",但我们现在不会讨论这个。你现在可以进行下一课的学习啦!