[閒聊] 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