이것은 몇 가지 포인트를 얻는 쉬운 방법입니다. 설명해주십시오 다음클래스와 인스턴스 변수로 사전 및 배열
10 20 10 10
20 20 20 10
왜 사전, 목록과 '일반'변수 각각 다르게 작동 않습니다 다음
class C:
a = {}
b = 0
c = []
def __init__(self):
self.x = {}
def d(self, k, v):
self.x[k] = v
self.a[k] = v;
self.b = v
self.c.append(v)
def out(self, k):
print(self.x[k], self.a[k], self.b, self.c[0])
c = C()
d = C()
c.d(1, 10)
d.d(1, 20)
c.out(1)
d.out(1)
윌 출력?
편집 : 나는 질문이 분명하다 생각하지만, 나를 더 자세히 철자하게되었다
나는 세 가지 속성, A, B 및 C와 클래스가 있습니다. 클래스의 두 인스턴스를 만듭니다. 그런 다음 각 인스턴스에 대해 이러한 특성을 수정하는 메서드를 호출합니다. 속성을 검사 할 때 속성이 사전 인 경우 모든 인스턴스에서 공유되는 반면 '평범한'변수 인 경우 속성은 예상대로 동작하며 각 인스턴스마다 다릅니다.
"왜 사전, 배열 및 '일반'변수가 각각 다르게 동작합니까?" 그들은 다른 수업이기 때문에 다르게 행동합니다. 그 질문은 전혀 이해가되지 않습니다. 어떤 ** 특정 ** 차이점에 대해 알고 싶습니까? –