2013-08-29 3 views
0

파이썬에서는 메모리가 스스로를 "정렬"한다는 것을 알고 있습니다. 그러나 그것을 원하는 방식으로 결정할 방법이 있습니까?파이썬에서 클래스 복사하기

원시 변수에서는 변수를 복제하지만 목록 등에서는 참조로 만듭니다.

저는 Pygame Surface, 몇 가지 일반 변수 및 그런 것들을 가진 클래스를 가지고 있습니다. 이제는 a b를 수행하면 a 포인터를 b로 만들 것입니다. 어떻게 그것을 복제 할 수 있습니까?

+0

표면의 여러 복사본을 수정하지 않는 한 잘못된 방법이라고 생각됩니다. – ninMonkey

답변

2

당신은 copy 모듈을 사용할 수 있습니다

은 (내가 그것을 수행하는 기능을 할 수 있습니다 알고 있지만 어쩌면 더 쉬운 방법이) 내가 복사하는 학급 전체의 표면뿐만 아니라이

주 :

import copy 

Class MyClass(): 
    def __init__(self): 
     self.val = 5 

a = MyClass() 
b = copy.deepcopy(a) 
+0

복사 할 전체 클래스가 있음을 유의하십시오. 표면은 –

+0

@ Ofek.T.뿐입니다. 여전히 작동합니다. 편집을 참조하십시오. – scohe001

관련 문제