# 6. 转义序列和多行文本




### 转义序列

python提供了一种方式让我们可以输入一些不太好通过键盘输入的字符，比如换行符缩进符之类的。这种特殊的字符组合我们可以称之为转义序列(escape sequences)，详情可以参考[官方文档](https://docs.python.org/3/reference/lexical_analysis.html)。

我们经常使用的有

* \n: 换行
* \t: tab，可以当成是缩进
* \\: 反斜杠
* \': 单引号，可以在单引号字符串中打印出单引号
* \": 双引号，可以在双引号字符串中打印出双引号

### 多行文本

python中3个引号开头的字符串中可以包含多行文本，比如

```python

my_str="""
this is the first line
this is the second line
this is the last line
"""
```

### 背景

这一节里，我们强化一下转义序列和多行文本的使用和写法。

### 代码实现

新建名为```print_test_case.py```，内容如下

```python

test_scenario = "登录场景\n"

test_case_name = "\t正常登录: \n"

# two tabs
tt = "\t\t"

test_step = f"{tt}1.打开chrome浏览器\n{tt}2.输入www.itest.info\n{tt}3.在登录表单中输入用户名:example，密码:example\n{tt}4.登记登录按钮\n"

test_assert = f"{tt}应该跳转到www.itest.info/login_success页面，并出现\"登录成功\"的提示"

print(test_scenario + test_case_name + test_step + test_assert)

test_login_failed = """
        密码错误:
                1.打开chrome浏览器
                2.输入www.itest.info
                3.在登录表单中输入用户名:example，密码:incorrect
                4.登记登录按钮
                页面不发生跳转，并出现\"登录失败\"的提示
"""
print(test_login_failed)
```

### 运行

在命令行中使用下面的命令去执行代码

```
$python print_test_case.py

```

### 你应该可以看到

如果没有出错的话，你应该可以看到命令行窗口显示如下的内容

```
登录场景
      正常登录:
              1.打开chrome浏览器
              2.输入www.itest.info
              3.在登录表单中输入用户名:example，密码:example
              4.登记登录按钮
              应该跳转到www.itest.info/login_success页面，并出现"登录成功"的提示

      密码错误:
              1.打开chrome浏览器
              2.输入www.itest.info
              3.在登录表单中输入用户名:example，密码:incorrect
              4.登记登录按钮
              页面不发生跳转，并出现"登录失败"的提示
```

### 动手时间

* 给代码加上注释，保证自己能读懂
* 将正常登录的场景用多行文本的进行形式重构
* 将密码错误的场景用转义序列以及字符串拼接的形式进行形式重构
* 自己新加1个用户名密码为空的场景




原始封面

![课程图片](https://images.unsplash.com/photo-1501555790667-ba7ea28b4cea?w=300)


