Python : 새 개체는 이전 개체의 속성을 사용합니다.

blckbird

세 개의 Game개체를 만들고 있습니다. 그러나 두 번째 및 세 번째 개체는 새 blocks목록을 초기화하지 않습니다 . 디버깅 할 때 초기 Game 개체의 목록을 사용하고 블록 만 추가하는 것을 볼 수 있습니다. 그 이유는 무엇입니까? 그리고 같은 blocks목록을 사용하지 않는 개체를 어떻게 가질 수 있습니까?

class Game(object):

    blocks = []

    def __init__(self):
        cords = [
            [0, 0], [0, 1], [0, 2], [0, 3],
            [1, 0], [1, 1], [1, 2], [1, 3],
            [2, 0], [2, 1], [2, 2], [2, 3],
            [3, 0], [3, 1], [3, 2], [3, 3]
        ]

        random.shuffle(cords)

        for i in range(0, 16):
            self.blocks.append(Block(i + 1, cords[i][0], cords[i][1]))
미라 둘로

이는 클래스 속성blocks 으로 정의하는 방법 때문입니다 . 클래스 속성은 클래스의 단일 인스턴스에 속하지 않으며 바인딩 된 클래스 수준의 모든 곳에서 공유됩니다.

각하게하려면 Game객체가 자신을 가지고 blocks, 당신이 원하는 blocks인스턴스 속성 . __init__메소드 에있는 클래스의 각 인스턴스에 블록을 바인딩하여 모든 인스턴스에 Game자체 목록이 있도록 할 수 있습니다 blocks.

def __init__(self):
    self.blocks = []

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Gremlin Java는 이전 정점 속성을 새 속성으로 대체합니다.

분류에서Dev

MVC 4는 내 새 개체의 속성으로 목록이있는 양식을 만듭니다.

분류에서Dev

개체는 부모 개체의 속성을 상속합니다.

분류에서Dev

밑줄을 사용하여 전체 개체를 새 개체로 변형 / 포장합니다.

분류에서Dev

두 개체를 결합하지만 첫 번째 개체에 이미 속성이있는 경우 두 번째 개체의 속성을 무시합니다.

분류에서Dev

Ruby on Rails-콜백을 사용하여 새 항목이 생성 될 때 별도의 테이블에있는 두 개체를 곱합니다.

분류에서Dev

Python 오류 : 'NoneType'개체에 Beautiful Soup을 사용하는 'find_all'속성이 없습니다.

분류에서Dev

AttributeError : Python을 사용하여 AVRO에서 읽는 동안 'str'개체에 'decode'속성이 없습니다.

분류에서Dev

속성 이름으로 중첩 된 개체를 검색하고 새 개체에 복사해도 모든 개체가 복사되지는 않습니다.

분류에서Dev

전역 환경 (특정 패턴 사용)의 개체에서 열 이름을 가져온 다음 새로운 기능을 반환합니다.

분류에서Dev

List <T>는 자체 사용을 위해 추가 된 개체의 새 인스턴스를 참조하거나 생성하여 새 개체를 추가합니까?

분류에서Dev

각도 템플릿의 HTML에있는 개체 속성의 이름을 전달합니다.

분류에서Dev

Python에서 정렬 된 두 개의 연결 목록을 병합하는 동안 'NoneType'개체에 'next'속성이 없습니다.

분류에서Dev

다른 개체 속성을 기반으로 새 속성 추가

분류에서Dev

Dropbox 개체에는 Python에서 Dropbox 속성이 없습니다.

분류에서Dev

새 개체가 이전 개체의 필드를 변경하는 것처럼 보입니다.

분류에서Dev

개체에서 개체의 속성을 병합하는 방법

분류에서Dev

Fluent Nhibernates는 for 루프에서 전체 개체 종속성을로드합니다.

분류에서Dev

'str'개체에는 beautifulsoup을 사용하는 'p'속성이 없습니다.

분류에서Dev

Intersystems 캐시 개체 스크립트는 참조에 의해 매개 변수로 속성을 전달합니다.

분류에서Dev

django 데이터베이스가 새 개체에 대해 삭제 된 개체의 ID를 사용하는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Javascript-한 개체에서 다른 새 개체로 특정 속성을 자세히 복사합니다.

분류에서Dev

개체 및 개체의 속성을 반환하는 콜백이 예상대로 호출되지 않습니다.

분류에서Dev

레이블의 대상 속성을 사용자 지정 UserControl 내의 개체로 설정합니다.

분류에서Dev

새 줄로 배열의 요소를 흘리고 Map없이 각 새 줄에 개체 속성을 할당합니다.

분류에서Dev

사용자 정의 어댑터는 새 항목을 추가 할 때 이전 항목을 대체합니다.

분류에서Dev

C ++, 정적 개체 생성자의 예외는 이전 정적 개체의 소멸자를 우회합니다.

분류에서Dev

메모리 새니 타이 저가 전역 개체 생성에서 초기화되지 않은 값 사용을보고합니다.

분류에서Dev

원본 개체의 목록 속성을 포함하는 새 개체에 원본 개체 추가

Related 관련 기사

  1. 1

    Gremlin Java는 이전 정점 속성을 새 속성으로 대체합니다.

  2. 2

    MVC 4는 내 새 개체의 속성으로 목록이있는 양식을 만듭니다.

  3. 3

    개체는 부모 개체의 속성을 상속합니다.

  4. 4

    밑줄을 사용하여 전체 개체를 새 개체로 변형 / 포장합니다.

  5. 5

    두 개체를 결합하지만 첫 번째 개체에 이미 속성이있는 경우 두 번째 개체의 속성을 무시합니다.

  6. 6

    Ruby on Rails-콜백을 사용하여 새 항목이 생성 될 때 별도의 테이블에있는 두 개체를 곱합니다.

  7. 7

    Python 오류 : 'NoneType'개체에 Beautiful Soup을 사용하는 'find_all'속성이 없습니다.

  8. 8

    AttributeError : Python을 사용하여 AVRO에서 읽는 동안 'str'개체에 'decode'속성이 없습니다.

  9. 9

    속성 이름으로 중첩 된 개체를 검색하고 새 개체에 복사해도 모든 개체가 복사되지는 않습니다.

  10. 10

    전역 환경 (특정 패턴 사용)의 개체에서 열 이름을 가져온 다음 새로운 기능을 반환합니다.

  11. 11

    List <T>는 자체 사용을 위해 추가 된 개체의 새 인스턴스를 참조하거나 생성하여 새 개체를 추가합니까?

  12. 12

    각도 템플릿의 HTML에있는 개체 속성의 이름을 전달합니다.

  13. 13

    Python에서 정렬 된 두 개의 연결 목록을 병합하는 동안 'NoneType'개체에 'next'속성이 없습니다.

  14. 14

    다른 개체 속성을 기반으로 새 속성 추가

  15. 15

    Dropbox 개체에는 Python에서 Dropbox 속성이 없습니다.

  16. 16

    새 개체가 이전 개체의 필드를 변경하는 것처럼 보입니다.

  17. 17

    개체에서 개체의 속성을 병합하는 방법

  18. 18

    Fluent Nhibernates는 for 루프에서 전체 개체 종속성을로드합니다.

  19. 19

    'str'개체에는 beautifulsoup을 사용하는 'p'속성이 없습니다.

  20. 20

    Intersystems 캐시 개체 스크립트는 참조에 의해 매개 변수로 속성을 전달합니다.

  21. 21

    django 데이터베이스가 새 개체에 대해 삭제 된 개체의 ID를 사용하는 것을 방지하는 방법은 무엇입니까?

  22. 22

    Javascript-한 개체에서 다른 새 개체로 특정 속성을 자세히 복사합니다.

  23. 23

    개체 및 개체의 속성을 반환하는 콜백이 예상대로 호출되지 않습니다.

  24. 24

    레이블의 대상 속성을 사용자 지정 UserControl 내의 개체로 설정합니다.

  25. 25

    새 줄로 배열의 요소를 흘리고 Map없이 각 새 줄에 개체 속성을 할당합니다.

  26. 26

    사용자 정의 어댑터는 새 항목을 추가 할 때 이전 항목을 대체합니다.

  27. 27

    C ++, 정적 개체 생성자의 예외는 이전 정적 개체의 소멸자를 우회합니다.

  28. 28

    메모리 새니 타이 저가 전역 개체 생성에서 초기화되지 않은 값 사용을보고합니다.

  29. 29

    원본 개체의 목록 속성을 포함하는 새 개체에 원본 개체 추가

뜨겁다태그

보관