为什么这是有效的Python?

2024-04-25 18:05:03 发布

您现在位置:Python中文网/ 问答频道 /正文

此代码:

bounding_box = (
    -122.43687629699707, 37.743774801147126
    -122.3822021484375, 37.80123932755579
)

生成以下值:

^{pr2}$

有三个值,因为我忘了在第一行后面加一个逗号。令人惊讶的是,Python接受了这一点,并将第二个和第三个数字相加!在

这是不是类似于string literal concatenation但对于数字?为什么这会是你想要的行为?在


Tags: 代码boxstring数字逗号boundingliteralpr2
3条回答

发生的事情很简单。在下面的作业中

bounding_box = (
    -122.43687629699707, 37.743774801147126
    -122.3822021484375, 37.80123932755579
)

相当于

^{pr2}$

所以,这两个值被减去,就产生了一个3元组。在

你有一个换行符,但没有新的缩进。它不会抛出错误,因为没有缩进问题,而且在做减法时甚至不承认换行符。在

如果你想把你的文字都放在窗口里怎么办?值之间的分隔符是逗号,而不是换行符。这就是为什么这是理想的行为。在

没有换行符,为了清晰起见,去掉小数:

bounding_box = (-122, 37 - 122, 37 )

换句话说,本来应该是逗号的一元减号被解析为减法运算符。在

相关问题 更多 >