注释与空白
注释与空白
import this
基本上,编程语言都允许插入大量的注释与空白,来增加可读性与可维护性
空行
python 中的空行都会被忽略
print(1) print(2) print(3)
注释
在 python 中,注释是以#开头的内容
注释是给人看的,#后面的内容都会被完全忽视,不会被实际执行
# 这是一行注释,解释器会忽略它
print('awa') # 这也是注释
# 注释的内容都会被忽略 print('awa')
print('#当然,在字符串中的不算')
空白
python 中大多数地方加空格都不会产生什么影响
print ( 1 )
# 加在字符串里面的内容,当然会作为字符串的一部分输出
print(' awa ')
# 建议在运算符两端加上空格
print(1 + 3 * 5)
但是,由于 python 使用缩进(indent)来区分代码层级,不能在每行的开头随便加空格
虽然稍显严格,但是这对产生整齐的代码很有帮助
print(1) print(2) # 这会报错!
对于所有类型的括号,你都可以换行和添加空格,python 会忽略中间的所有空白
有时这对可读性很有帮助
print(
1 +
2
)
# 你不必现在就搞懂这些意味着什么,这只是一个示例
print(
'Hello,',
'world!', # 最后一个逗号是可选的
)
print([
1,
2,
3,
])
print({
3,
2,
1,
})
多行字符串
其实字符串也有支持换行的形式,这叫作多行字符串
你写的代码本身也是一串字符串
事实上,你的代码就是作为字符串被解析的
使用'''或者"""来包裹
print( '''Hello, world!''' )
中间所有的空白和换行都会包括进去!
print('''
Hello,
world!
''')
转义符
换行符也是一个符号,但是它没法直接表示出来,是一种特殊的符号
在字符串的字面量内部,我们在\后接上特定的内容来表示另一些字符,而不是原本的含义,于是\也被称为转义符
换行符的表示方法是\n,类似的还有制表符\t
这些基本的对应关系是约定俗成的,在绝大多数编程语言中都适用
打印换行符
print('awa\nbwb')
转义符还有另外的应用场景
例如,字符串是以'或者"作为标识的,如果我想要在'包裹的字符串里表示'呢?
比如
print('It's me!')
如果这样实现,解释器就会报错,因为这个字符串是用单引号括起来的
但是中间又出现一个单引号,到底是哪两个单引号构成的字符串呢?
于是我们规定,这时使用\',就没有歧义了
print('It\'s me!')
python 有两种引号表示字符串,所以这种情况有更加简单的方案:
print("It's me!")
但是当需要同时表示两种类型的时候,就只能上转义符了
# python中,如果没有对应的转换,则表示原样输出
print('\"Me\":It\'s me!')
续行符
有时我们想要将一些东西拆成多行,但是如果是不支持换行的内容呢
你可以在末尾写一个\并且紧跟着一个换行,这叫作续行符
python 在读取的时候,会跳到下一行,就好像没有换行一样
print(
'Hello,\
world!' # 但是会包括前面的空格
)
续行符后不能有任何内容,注释和空格都不行!
print(
'Hello,\ # 这会报错!
world!'
)
续行符可以理解为,对代码中看不见的那个换行符 \n 的转义
挑战: 打印反斜杠
等等,是不是漏了什么……如果我想要表示反斜杠本身呢?
# 在这里填入代码...
参考答案
print('\\')