2013-02-08 2 views
0

는 클래스입니다. 5 명의 플레이어에게 카드를 제공하는 함수를 호출하면 이것이 나옵니다.클래스 여기에 분포 오류

Player 1 
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C 
25 

Player 2 
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C 
25 

Player 3 
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C 
25 

Player 4 
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C 
25 

Player 5 
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C 
25 

p.s. 이후의 숫자는 테스트 코드에서 작은 디버그 일이었고 아무런 영향을 미치지 않았습니다.

+1

가능한 중복 : (http://stackoverflow.com/questions/1132941

__init__ 방법의 각 플레이어의 새 목록 만들기/적어도 - astonishment-in-python-the-mutable-default-argument) – bernie

답변

3

귀하의 문제는 귀하의 hand = [] 목록이 수업에 첨부되어 있습니다. 클래스 속성이며 인스턴스간에 공유됩니다.

class Player: 
    def __init__(self): 
     self.hand = [] 
[파이썬에서 "최소 깜짝": 변경이 용이 한 기본 인수]의