自学内容网 自学内容网

面向对象编程——类变量(属性)添加变量的两种方法解析

        在我们初学python的时候,当我们给类添加对象时,发现有两种写法。为此我们产生疑惑,都是输出同样的值,为啥会出现两种写法呢?

第一种写法:

class Hahaha:
    count = 1

print(Hahaha.count)

第二种写法:

class Hahaha:
    pass

Hahaha.count = 1
print(Hahaha.count)


本质区别:

虽然两种写法的结果相同,但它们的本质区别在于:

1.第一种写法是声明式的,count是类的一部分,属于类的初始定义。

2.第二种写法是动态式的,count是在类定义之后动态添加的,不属于类的初始定义。


两种代码的使用场景分类:

  • 第一种写法(在类定义体中定义类变量):

    • 更适合在类的设计阶段,明确表示某些属性是类的一部分。

    • 代码更清晰,语义更明确。

  • 第二种写法(动态添加类属性):

    • 更适合在运行时动态修改类的结构。

    • 提供了更大的灵活性,但可能会降低代码的可读性和维护性。


原文地址:https://blog.csdn.net/m0_59247951/article/details/145265191

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!