在python中使用类中的函数(使用self或不使用)
发布时间:2020-12-20 13:17:16 所属栏目:Python 来源:网络整理
导读:class Neuralnetwork(object): def __init__(self,data): self.data = data def scan(self): print(self.data) def sigmoid(self,z): g = 1 / (1 + math.exp(-z)) return (g) a1 = sigmoid(7) print a1 我不确定为什么它不会用sigmoid函数打印a1变量.它不断
class Neuralnetwork(object): def __init__(self,data): self.data = data def scan(self): print(self.data) def sigmoid(self,z): g = 1 / (1 + math.exp(-z)) return (g) a1 = sigmoid(7) print a1 我不确定为什么它不会用sigmoid函数打印a1变量.它不断发出一个错误,说它需要2个输入而不是1.但是我认为通过调用类中的函数,我不需要再次提供自我? 编辑:我在那里有最后两个语句,因为我还在测试一些东西,以确保一切都在做它在课堂上应该做的事情. 解决方法
sigmoid是Neuralnetwork类的一种方法,因此如果您在类定义之后调用它,则需要首先创建Neuralnetwork类的实例,然后才能使用sigmoid函数:
class Neuralnetwork(object): def __init__(self,z): g = 1 / (1 + math.exp(-z)) return (g) # replace data and z with appropriate values nn = Neuralnetwork(data) a1 = nn.sigmoid(z) print a1 如果需要在类中使用它,请将块放在方法中: class Neuralnetwork(object): def __init__(self,z): g = 1 / (1 + math.exp(-z)) return (g) def print_sigmoid(self,z): a1 = self.sigmoid(z) print a1 # replace data and z with appropriate values nn = Neuralnetwork(data) nn.print_sigmoid(z) 我还建议根据PEP 8样式指南:https://www.python.org/dev/peps/pep-0008/#class-names将班级名称更改为NeuralNetwork (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读