[闲聊] Python 缩排

楼主: heterologic (仿生边缘人会梦见VTber吗)   2023-04-25 11:39:31
以前都只知道缩排想用几个空白都可以,保持一致就好
无聊跑去看文档之后,发现其实比我想像中的更自由
https://docs.python.org/3/reference/lexical_analysis.html#indentation
缩排是用 stack 来维护的,首先会将 0 压进去
接着若这一行比当前的缩进要深
则会产生 INDENT token 并把当前的深度 push 进去
如果比较浅,则会不断 pop 直到找到符合的深度
每 pop 一次就产生一个 DEDENT token
如果这个深度原本不在 stack 中就会报错
所以下面这个程式也是合法的
作者: EliteCaterpi (さくらみこ的绿毛虫)   2023-04-25 11:40:00
大师
作者: Niuromem   2023-04-25 11:41:00
大师
作者: DJYOSHITAKA (Evans)   2023-04-25 11:44:00
所以同block用相同数量的空白就可以了ㄉ意思吗 大湿
作者: sustainer123 (caster)   2023-04-25 11:44:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com