作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道是否有可能将 jupyter 类拆分到不同的单元格中?比方说:
#first cell:
class foo(object):
def __init__(self, var):
self.var = var
#second cell
def print_var(self):
print(self.var)
对于更复杂的类,将它们写入一个单元格真的很烦人。我想将每个方法放在不同的单元格中。
有人制作了 this这是去年的事,但我想知道是否有内置的东西,所以我不需要外部脚本/导入。
如果没有,我想知道是否有理由不让您有机会更轻松地拆分您的代码和文档/调试它。
提前致谢
最佳答案
在 Github 问题“Define a Python class across multiple cells #1243”上针对此问题提供了两个解决方案,可在此处找到:https://github.com/jupyter/notebook/issues/1243
一个解决方案 是使用为这种特定情况开发的包中的魔术函数,称为 jdc - 或 Jupyter 动态类。关于如何安装和使用的文档可以在包 url 上找到 https://alexhagen.github.io/jdc/
第二种方案由Doug Blank提供并且只在常规 Python 中工作,无需借助任何额外的魔法,如下所示:
单元格 1:
class MyClass():
def method1(self):
print("method1")
单元格 2:
class MyClass(MyClass):
def method2(self):
print("method2")
单元格 3:
instance = MyClass()
instance.method1()
instance.method2()
我自己在 Jupyter Notebook 和 VS Code 中测试了第二个解决方案,它在两种环境中都运行良好,除了我在VS Code,这是意料之中的,但仍然运行良好。此外,无论如何,VS Code 并不是目标环境。
关于python - Jupyter - 在多个单元格中拆分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45161393/
我是一名优秀的程序员,十分优秀!