python类初始化

标签 python class initialization

各位,

请问下面两个节点类的定义是否相同?

class node:
    left = None
    right= None
    def __init__(self, data):
        self.data = data


class node:
    def __init__(self, data):
        self.data = data
        self.left = None
        self.right= None

谢谢你告诉我。

最佳答案

不,它们不一样。

在第二个定义中,node.leftnode.right 不存在。 rightleft 属性只存在于类的初始化实例中。但是,在第一个定义中,您可以直接在类上访问 node.leftnode.right;您不必实例化它。

关于python类初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451142/

相关文章:

java - 如何发送自定义 java 类对象作为对 java servlet 中 ajax 调用的响应并在 javascript 中检索它?

python - 在 Colab 中运行代码时显示 GPU 使用情况

python - 使用 pip 从 Web 项目的 requirements.txt 安装时出错

c++ - 执行函数时导致崩溃的变量

c - 为什么我不能声明和定义一个字符指针变量来指向一个字符数组?

c++ - 引用类成员(是)导致未定义的行为

c++ - 额外字节在 C++ 中是否初始化为 0?

python - 如何在 Plotly 中根据 X、Y、Z 数组绘制 3D 曲面?

python - 使用 Holoviews 或 Hvplot 时将框缩放(或平移或滚轮缩放)设置为默认值

c++ - 在使用 C++ Square 类时遇到问题。成员函数实现和声明