【问题标题】:What's the point of declaring variables outside of constructor?在构造函数之外声明变量有什么意义?
【发布时间】:2022-01-18 23:22:17
【问题描述】:

举个例子:

class User:
    name = ""
    def __init__(self, name):
        self.name = name

如果在构造时必须指定名称,那么声明 name = "" 有什么意义?

【问题讨论】:

  • 这毫无意义,正如所写。如果没有分配给self.name,它将是一个类属性,由所有实例共享。
  • 类中的直接是类属性。
  • 了解类变量与实例变量。
  • 没有意义。你不需要那个
  • 也就是说:很多有其他编程语言背景的人会误写这种东西,而且通常是无害的,所以他们没有吸取教训。

标签: python oop


【解决方案1】:

您必须询问执行此操作的人,因为这是一个非常广泛的问题。也许git blame 会有所帮助。

一般来说没有意义。它们是不同的东西:类属性和实例属性。一种是与对象类型相关联的数据,另一种是与对象的各个实例相关联的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 2010-10-15
    • 2011-09-17
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多