Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用PythonJupyter笔记本展示面向对象的代码?_Python_Jupyter Notebook - Fatal编程技术网

如何用PythonJupyter笔记本展示面向对象的代码?

如何用PythonJupyter笔记本展示面向对象的代码?,python,jupyter-notebook,Python,Jupyter Notebook,我正在使用Jupyter笔记本,我想用它展示我的面向对象代码。 我的问题是它不能识别我的类的方法。 我的意思是我想解释代码的每一部分,所以我把每个方法放在一个单元格中。 现在,当我调用一个方法时,会出现以下错误: --------------------------------------------------------------------------- AttributeError Traceback (most recent ca

我正在使用Jupyter笔记本,我想用它展示我的面向对象代码。 我的问题是它不能识别我的类的方法。 我的意思是我想解释代码的每一部分,所以我把每个方法放在一个单元格中。 现在,当我调用一个方法时,会出现以下错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-17-4bb647616f28> in <module>
----> 1 s.plot_numpy_array()

AttributeError: 'Classification' object has no attribute 'plot_numpy_array'
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在里面
---->1 s.绘图数组()
AttributeError:“Classification”对象没有属性“plot\u numpy\u array”
您可以在下图中看到我的jupyter笔记本:


我的意思是,有没有办法让所有方法都不在一个单元中的面向对象代码?或者至少可以清楚地分别解释每种方法?

您可能想改用标记法:

1-在一个代码单元中创建类(这是它执行Peopery的唯一方式。
2-创建包含要高亮显示的代码部分及其说明的标记单元格:

标记单元格: (未呈现)


->三个“记号”之间的代码将以正确的语法突出显示。

您必须将所有函数保持在同一单元格中,并正确缩进到您的类中。Jupyter笔记本不支持您尝试执行的操作


注释和标记的组合可能是拥有干净文档的最佳选择。

您可以将单元格设置为标记,并使用带制表符、单引号(`)和三引号(``的语法高亮显示

您还可以使用
(问号)或
。它将为您的课程提供优秀的文档

以这段代码为例:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)

for i in range(5):
    ax.plot(x, i * x, label='$y = %ix$' % i)

ax.legend()
plt.show()

?plt

奇怪的是,你的答案没有被接受,但它是值得的。谢谢你,普罗斯蒂伊很高兴我能帮助你。K47,如果你觉得我的答案对你有帮助,你可以考虑,
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)

for i in range(5):
    ax.plot(x, i * x, label='$y = %ix$' % i)

ax.legend()
plt.show()

?plt