我最近开始学习Python,我不明白Python为什么会这样:

>>> "OK"
'OK'
>>> """OK"""
'OK'
>>> "not Ok'
  File "<stdin>", line 1
    "not Ok'
           ^
SyntaxError: EOL while scanning string literal
>>> "not OK"""
'not OK'

为什么它不给最后一个语句一个错误,因为引号的数量不匹配?

推荐答案

最后的"""不被认为是三重引号,而是一个"(用于关闭当前字符串文字),后跟一个空字符串"";这两个并置的字符串文字是串联的.通过在关闭和打开"之间留出空间,可以更容易地识别相同的行为.

>>> "not OK" ""
'not OK'

Python-3.x相关问答推荐

我的SELECT函数搜索的是列,而不是列中的数据.我怎么才能让它搜索数据呢?

如何获得给定列表中所有可能的元素组合?

为什么 tkinter 在 tkinter 窗口外计算鼠标事件?

如何在 python 中将带有时区信息的时间戳转换为 utc 时间

重复数组直到一定长度 groupby pandas

从一列字符串中提取子字符串并将它们放入列表中

通过在不重新索引的情况下采用最高概率的百分比,有效地转换 0/1 列表中的概率列表

将值从函数传递到标签

多进程:两个进程,一起杀死

是否可以将多个 if 转换为数组?

使用大型多个数据集,其中每个数据集包含多个值 - Pytorch

非拉丁字符的Python正则表达式不起作用

python 3:如何判断一个对象是否是一个函数?

从 Python2 到 Python3 的这种解包行为的变化是什么?

Tkinter AttributeError:对象没有属性'tk'

Python3 的超级和理解-> TypeError?

无法在 Windows 8 中使用 Python 3.3 找到 vcvarsall.bat

变量类型注解NameError不一致

用 Anaconda 安装了一个包,无法在 Python 中导入

如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签