【问题标题】:Renaming a variable everywhere in Jupyter Notebook在 Jupyter Notebook 中的任何位置重命名变量
【发布时间】:2018-05-04 14:46:32
【问题描述】:

有没有办法在你当前的 jupyter notebook 文件的任何地方重命名一个变量?

即假设我的笔记本通过我的脚本在多个函数和位置引用了一个变量“foo”。后来我决定要将此变量重命名为“bar”以提高可读性...

在 xcode 中,您可以突出显示并右键单击来执行此操作。一种智能搜索/替换命令。

希望能够做同样的事情。

谢谢!

【问题讨论】:

  • 恕我直言,这不是 stackoverflow.com/questions/35119831/… 的副本。重命名变量和简单的文本替换之间存在巨大的语义差异:没有直接的用户交互,第二个替换某个文本的所有实例,而第一个可能更聪明,例如检查文本的出现是否实际上是变量名。参照。其他 IDE 中的重命名变量功能。对于问题本身:不幸的是,Jupyter atm 中没有提供这一点。
  • 使用内置的查找和替换方法,我发现使用正则表达式匹配的单词有助于重构变量:\bfoo\b,然后替换为bar。它仍然很愚蠢,因为它不能区分变量和字符串,但总比没有好。
  • 真正的变量重命名可以使用 jupyterlab 和 jupyterlab-lsp 扩展名。

标签: python jupyter-notebook


【解决方案1】:

我希望你已经解决了这个问题。但是,我的回答会帮助有类似问题的人。 我认为这可以使用笔记本编辑菜单下的查找和替换选项来完成。如果您处于命令模式,您可以轻松按下 F 键并调出查找和替换对话框。谢谢!

【讨论】:

  • 但是这个“查找和替换”不理解上下文。例如。不同函数中的变量可能具有相同的名称,您可能只想更改一个函数中的名称。
【解决方案2】:

可能有点晚了,但我找到了一个简单的解决方案:

1 - shift+click in first cell

2 - shift+click in last cell

3 - Press F or go to Edit/Find and Replace

4 - Rename the expression you need.

【讨论】:

  • 抱歉,我刚刚发现在查找和替换菜单中,文本输入框旁边有一个“替换所有单元格”按钮。
【解决方案3】:

这有点晚了,但它可以帮助某人。

1- 转到“编辑”,然后“查找和替换”。

2-分别在Find和Replace中输入这两个词。

3- 单击小箭头以重命名 jupyter 笔记本中的所有事件。

【讨论】:

    【解决方案4】:

    在 Mac 上,突出显示并使用控制右键单击会提供一个选项(-F2 是一个快捷方式)来更改所有出现的事件。我怀疑这是你想要的,但如果你的变量名太短(例如 i、j、k),它可能真的会弄乱你的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-19
      • 2022-08-24
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 2022-08-15
      相关资源
      最近更新 更多