栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在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中。该帖子有一个很长很有趣的话题,并且为完全删除该功能提供了很多支持。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645200.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号