gpt4 book ai didi

python - 两种类型的类属性定义之间的区别?

转载 作者:太空狗 更新时间:2023-10-30 02:22:40 26 4
gpt4 key购买 nike

有区别吗

class Foo(object):
bar = 1
def __init__(self):
... etc.

class Foo(object):
def __init__(self):
... etc.

Foo.bar = 1

在这两种情况下,bar 都是类的属性,并且对于类的所有实例都是相同的,对吧?

最佳答案

唯一的区别是,在第二种情况下,Foo.bar 不存在,直到 Foo.bar = 1 语句被执行在创建类对象时,第一种情况已经可用。

这可能是一个小差异,对您的代码没有任何影响(除非某些代码在第二种情况下可用之前需要 Foo.bar)。但是,我认为第一个选项在可读性方面更好,因为您不必向下滚动即可了解您的类的属性,它们已经存在。

关于python - 两种类型的类属性定义之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9308670/

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