gpt4 book ai didi

python - 在 python 的类中使用函数(使用或不使用 self)

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:05 26 4
gpt4 key购买 nike

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 个。但我认为通过在类中调用函数,我不需要再次向它提供 self 吗?

编辑:我在那里有最后两个语句,因为我仍在测试以确保一切都在做它在类里面应该做的事情。

最佳答案

我注意到你的 sigmoid 方法根本没有使用 self,也就是说,它不依赖于实例。你可以把它作为一个普通函数放在类之外。但如果它与类密切相关,您可能更愿意将其封装为静态方法,将 self 从 sigmoid def 中完全移除:

#/usr/bin/env python3

import math

class NeuralNetwork(object):

def __init__(self, data):
self.data = data

def scan(self):
print(self.data)

@staticmethod
def sigmoid(z):
g = 1 / (1 + math.exp(-z))
return (g)

a1 = NeuralNetwork('abc')
print(a1.sigmoid(7))

关于python - 在 python 的类中使用函数(使用或不使用 self),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413807/

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