您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中x ='y''z'的含义是什么?

在Python中x ='y''z'的含义是什么?

Python 解析器 将其解释为一个字符串。Lexical Analysis文档中对此进行了详细记录

允许使用可能使用不同的引用约定的多个相邻字符串文字(由空格分隔),其含义与它们的串联相同。因此,"hello" 'world'等效于"helloworld"

编译后的Python代码只能看到一个字符串对象。您可以通过要求Python生成此类字符串的AST来查看此内容

>>> import ast
>>> ast.dump(ast.parse("'hello' 'world'", mode='eval').body)
"Str(s='helloworld')"

实际上,正是在构建AST的过程中触发了级联,因为遍历了语法分析树,请参见AST C源代码中的parsestrplus()函数

功能专门用于减少反斜杠的需求。当它仍然在 逻辑 行中时,使用它在物理行之间分解字符串:

print('Hello World!', 'This string is spans just one '
      'logical line but is broken across multiple physical '
      'source lines.')

可以使用括号,方括号或花括号多条物理线隐式合并为一条物理线。

字符串连接功能是从C复制而来的,但是Guido van Rossum在记录中遗憾地将其添加到Python中。该帖子有一个很长很有趣的话题,并且为完全删除功能提供了很多支持

python 2022/1/1 18:47:03 有353人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶