相关疑难解决方法(0)

如何避免在实例之间共享类数据?

我想要的是这种行为:

class a:
    list = []

x = a()
y = a()

x.list.append(1)
y.list.append(2)
x.list.append(3)
y.list.append(4)

print(x.list) # prints [1, 3]
print(y.list) # prints [2, 4]
Run Code Online (Sandbox Code Playgroud)

当然,我打印时真正发生的是:

print(x.list) # prints [1, 2, 3, 4]
print(y.list) # prints [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

显然,他们正在课堂上分享数据a.如何获得单独的实例来实现我想要的行为?

python class

133
推荐指数
5
解决办法
2万
查看次数

向初学者解释python'self'变量

我几乎不知道OOP术语和概念.我从概念上知道对象是什么,对象有方法.我甚至明白在python中,类是对象!那很酷,我只是不知道它意味着什么.它没有点击我.

我目前正在尝试理解一些我认为将阐明我对python的理解的详细答案:

  1. "yield"关键字在Python中的作用是什么?
  2. 什么是Python中的元类?

在第一个答案中,作者使用以下代码作为示例:

>>> class Bank(): # let's create a bank, building ATMs
...    crisis = False
...    def create_atm(self) :
...        while not self.crisis :
...            yield "$100"
Run Code Online (Sandbox Code Playgroud)

我不会立即弄清楚self指向的是什么.这绝对是不理解类的一个症状,我将在某些时候开展工作.澄清,在

>>> def func():
...   for i in range(3):
...     print i
Run Code Online (Sandbox Code Playgroud)

我理解i指向列表中的项目range(3),因为它在函数中,不是全局的.但是什么self"指向"?

python oop scope class

33
推荐指数
5
解决办法
8万
查看次数

标签 统计

class ×2

python ×2

oop ×1

scope ×1