停止Jupyter自动缩进新行一个大的,非整数数量的制表符?

2024-10-05 14:26:26 发布

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

跑步机(核心:4.4.0, 笔记本:5.7.8)OSX上的python3笔记本。你知道吗

笔记本似乎很容易混淆如何自动缩进新行。具体来说,我的更复杂的单元格有defs、ifs、whiles(etc)的嵌套缩进,这会导致Jupyter使用奇怪的4.5制表符自动缩进,它与我的任何缩进级别都不匹配,并导致浪费大量的按键来修复每个单元格上的缩进。单身。新的。线路。你知道吗

要清楚的是,我不是问如何更改默认的制表符间距,我是问如何停止jupyter自动缩进到一些疯狂的东西,当我点击'返回'作出一个新的行。你知道吗

一个潜在的错误来源是我对f字符串的使用;Jupyter有时会搞砸哈希和嵌套引号的语法高亮显示,例如print(f"Output for #{myNum} | {myDict['namedItem']}")。你知道吗

任何可能导致问题的提示都将受到欢迎。你知道吗


Tags: 核心etc浪费笔记本jupyter级别defs制表符
1条回答
网友
1楼 · 发布于 2024-10-05 14:26:26

答:是的,它是f字符串。f字符串中的嵌套引号将使单元格中的缩进出错,并将新行默认值设置为f字符串中引号的开头。你知道吗

例如

print(f"Output for #{myNum} | {myDict['namedItem']}")
                                      # Newline starts here
                                      # and here
# Manual de-indent here for readibility.
x=5 # and manually force python code to an indent where it actually runs
                                      # Default newline is still here though  
                                      # And will stay here for the rest of the cell

f字符串通常会破坏jupyter笔记本中的代码镜像语法highlighter,这是从Jan 2017开始的。有一些小的修正可以让它不那么坏,但是问题没有被修正请看recent Git issues

相关问题 更多 >