Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.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
在python中使用类中的变量实例化类_Python_Class_Instantiation - Fatal编程技术网

在python中使用类中的变量实例化类

在python中使用类中的变量实例化类,python,class,instantiation,Python,Class,Instantiation,我希望它输出数字3,但我不断得到错误:数据未定义。但我认为我在实例化类并向其传递值时定义了数据 实例化时确实定义了数据属性,但是在实例化之前,打印行在类定义处执行。如果要打印数据,请尝试print(self.data)inside\uuuu init\uuuu 编辑:起初我没有注意到您将类声明为类神经网络(数据)。该语法意味着您正在创建一个从数据类继承的类。由于该类不存在,您将有一个错误。只需将其删除,然后改用类Neuralnetwork。您当前的系统具有从数据继承的Neuralnetwork。

我希望它输出数字3,但我不断得到错误:数据未定义。但我认为我在实例化类并向其传递值时定义了数据

实例化时确实定义了
数据
属性,但是在实例化之前,
打印
行在类定义处执行。如果要打印数据,请尝试
print(self.data)
inside
\uuuu init\uuuu


编辑:起初我没有注意到您将类声明为
类神经网络(数据)
。该语法意味着您正在创建一个从
数据
类继承的类。由于该类不存在,您将有一个错误。只需将其删除,然后改用
类Neuralnetwork

您当前的系统具有从数据继承的Neuralnetwork。您当前试图做的最好是使用
\uuuu init\uuu
方法。你也不应该像这样在类的主体中进行打印

Python没有私有方法和函数的概念,因此可以使用点表示法访问所有内容。这样说来,在函数/方法/字段的开头添加一个
将告诉类/库的用户,它应该被视为私有的

class Neuralnetwork(data):

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

    print(data)



if __name__ == "__main__":
    Neuralnetwork(3)

您应该声明类:
class-Neuralnetwork:
class-Neuralnetwork(object)
,此外,print语句应该位于
\uuuuu init\uuuuu
内(修复标识)。谢谢!我对python是新手,所以我还有一个愚蠢的问题。在进一步创建其他方法和函数之前,我设置print语句只是为了检查数据变量是否包含某些内容。如何访问变量数据?这就是为什么我要打印它,只是测试如何获取内容。当你实例化这个类时,给它分配一个变量:
network=Neuralnetwork(3)
。然后,您可以通过
network.data
访问数据。例如,
print(network.data)
。谢谢你让我更有意义!谢谢,但在我继续创建更多函数和方法之前,我只是想确保数据变量包含我所期望的信息。否则如何访问该变量?
class Neuralnetwork(object):

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

    print(self.data)



if __name__ == "__main__":
    nuralnetwork1 = Neuralnetwork(3)
    print(nuralnetwork1.data) # Prints the number 3 to the console
    nuralnetwork2 = Neuralnetwork(2)
    print(nuralnetwork2.data) # Prints the number 2 to the console
    print(nuralnetwork1.data + nuralnetwork2.data)  # Prints the number 5 to the console