我最近开始学习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相关问答推荐

使用Python请求从特定URL下载图像时出错

如何转换Pandas中的数据,以使我 Select 的列名变为行值并增加行?

比较和排序 DataFrame 两列中的值并在 python 中的同一行中排序

三重奏:为什么频道被记录为使用async with,而不是with?

如何使用 django rest 框架在 self forienkey 中删除多达 n 种类型的数据?

如何在两个矩阵的比较中允许任何列的符号差异,Python3?

python 3.10.5 中可能存在的错误. id 函数工作不明确

使用 python-binance 时,heroku [regex._regex_core.error: bad escape \d at position 7] 出错

使用一周的特定第一天将每日日期转换为每周

python tkInter 浏览文件夹按钮

Python 3.5 中编码 utf-8 和 utf8 的区别

活动屏幕上的 PyQt4 中心窗口

如何并行化文件下载?

如何通过python打开文件

asyncio.Semaphore RuntimeError: Task got Future 附加到不同的循环

如何在元素列表中找到最大的数字,可能是非唯一的?

Python在OrderedDict中 Select 第i个元素

如何避免使用我的 python 包构建 C 库?

如何在 Python 3.2 中退出?

Pylint 中的模块PyQt5.QtWidgets错误中没有名称QApplication