gpt4 book ai didi

python - 为什么要记住类属性?

转载 作者:行者123 更新时间:2023-11-28 20:51:29 25 4
gpt4 key购买 nike

这是一个示例 python 模块:

# foo.py
class Foo(object):
a = {}
def __init__(self):
print self.a
self.filla()
def filla(self):
for i in range(10):
self.a[str(i)] = i

然后我在 python shell 中执行此操作:

$ python
Python 2.7.2 (default, Jan 13 2012, 17:11:09)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from foo import Foo
>>> f = Foo()
{}
>>> f = Foo()
{'1': 1, '0': 0, '3': 3, '2': 2, '5': 5, '4': 4, '7': 7, '6': 6, '9': 9, '8': 8}

为什么第二次a不为空?我是否遗漏了一些微不足道的东西。

最佳答案

问题是 a 没有绑定(bind)。它是类的属性,而不是对象。你想做这样的事情:

# foo.py
class Foo(object):
def __init__(self):
self.a = {}
print self.a
self.filla()
def filla(self):
for i in range(10):
self.a[str(i)] = i

关于python - 为什么要记住类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713259/

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