可能在Python代码中出现_never_的字节序列示例?

问题描述 投票:2回答:1

这是一个相当理论上的问题,与Python的基本通用语法有关。我正在寻找一个字节序列的示例,无论上下文(*)是什么,当它们出现在Python程序中时,它们都会always导致语法错误。例如,序列a[0)不是正确的示例,因为程序

s = 'a[0)'

完全正确。我想要的是一个字节序列,在源代码中的任何地方出现都会导致语法错误! (哦,当然,此序列中的所有字节都必须是允许单独出现在Python程序中的字节)。

(编辑:以下用引号引起来的示例是错误的,因为换行符可能出现在用三引号引起来的字符串中。感谢ekhumoro的相关评论!)

我怀疑“ newline-quote-newline”序列是禁止的,因为换行符字节可能不会出现在带引号的字符串中:所以,如果第一个换行符字节不会引起语法错误,这意味着quote字节开始一个带引号的字符串,然后是第二个换行符字节将导致语法错误。

在我看来,一个基本的越野车序列可能是(在这里编辑了一些错误:感谢ekhumoro的注意!)

␤'[)"[)'''[)"""[)'[)"[)'''[)"""[)

((表示换行字节),因为[)之一必须出现在带引号的字符串之外,并且由于开头是,所以该字符串不能出现在注释中。

但是,我对Python语法的详细细节了解不足,无法确定上述示例是否正确:也许存在一些奇怪的上下文,比仅用引号引起来的字符串更细微,可以使用上述字节序列吗?也许Python语法的全部细节甚至使实际上无法构建任何错误的序列(例如我正在寻找的东西)……>

(*)仅供参考,我的问题的动机是在Kolmogorov复杂性的背景下,强调通用图灵机的语言(具有自定界的程序)与通用编程语言之间的差异。

PS:也欢迎对其他(经解释的)现实生活语言回答相同的问题:-)

这是一个相当理论上的问题,与Python的基本通用语法有关。我正在寻找一个字节序列的示例,该字节序列在出现时总是会导致语法错误...

python syntax syntax-error complexity-theory
1个回答
0
投票

我认为一定总是有这样的顺序。

© www.soinside.com 2019 - 2024. All rights reserved.