gpt4 book ai didi

python - Jupyter - 在多个单元格中拆分类

转载 作者:太空狗 更新时间:2023-10-29 21:28:08 28 4
gpt4 key购买 nike

我想知道是否有可能将 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com