【发布时间】:2021-02-12 16:14:54
【问题描述】:
给定以下代码:
class DTC:
def __init__(self):
self.__root = None
def unique(self,Y):
d = {}
for i in Y:
if i not in d:
d[i]=1
else:
d[i]+=1
return d
def ent(self,Y):
freq = self.__count_unique(Y)
ent_ = 0
total = len(Y)
for i in freq:
p = freq[i]/total
entropy_ += (-p)*math.log2(p)
return ent_
如果将其放置在 Jupyter Notebook 的单个单元格中,上述内容将运行。但是,如果我希望类代码像这样拆分为多个单元格,如何使类代码正常工作:
单元格 1
class DTC:
def __init__(self):
self.__root = None
单元格 2
def unique(self,Y):
d = {}
for i in Y:
if i not in d:
d[i]=1
else:
d[i]+=1
return d
细胞 3
def ent(self,Y):
freq = self.__unique(Y)
ent_ = 0
total = len(Y)
for i in freq:
p = freq[i]/total
ent_ += (-p)*math.log2(p)
return ent_
【问题讨论】:
-
"是否可以从 Jupyter 中的类中拆分函数?" - 你可以测试一下,真的不需要太多时间
-
对不起,我原来的问题是措辞不正确。编辑了帖子。是的,我之前已经尝试过了。
-
有两种方法可以实现!
标签: python-3.x oop jupyter-notebook jupyter