게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[Python] list 에 object 들을 append 관련
게시물ID : programmer_22804짧은주소 복사하기
작성자 : 건드리면디저
추천 : 0
조회수 : 989회
댓글수 : 1개
등록시간 : 2019/02/11 13:39:58

class 를 정의하고, for 문에서 object 를 만들어 list 에 append 했습니다.

append 하면서 print 해보면 모두 제가 원하는 내용을 담은 object 가 담기는데,

for문 이 끝난 시점에서 list 를 모두 출력해보면 마지막에 append 한 element 로 모두 바뀌어 출력이 됩니다.

왜 그런가요??


class content():

    def __init__(self, aIndex, aName) :

        content._index = aIndex;

        content._name = aName;

        content._num_bug = 0;

        content._num_defect = 0;

        content._num_feature = 0;

        content._num_support = 0;

        content._num_sum = 0;


    def setBugsNum(self,num):

        content._num_bug = num;


    def setDefectsNum(self,num):

        content._num_defect = num;


    def setFeaturesNum(self,num):

        content._num_feature = num;


    def setSupportsNum(self,num):

        content._num_support = num;


    def getIndex(self):

        return content._index;


    def getName(self):

        return content._name;


    def getBugsNum(self):

        return content._num_bug;


    def getDefectsNum(self):

        return content._num_defect;


    def getFeaturesNum(self):

        return content._num_feature;


    def getSupportsNum(self):

        return content._num_support;


    def getSum(self):

        return (content._num_bug + content._num_defect + content._num_feature + content._num_support);


...

...


contents = []

index = 0;

for th in ths:

    contents.append(content(index, th.getText()));

    print(contents[index-1].getName())     # <- 의도한 element 가 출력됨

    index = index +1;


print(contents[0].getName()) # <- 마지막 element 가 출력됨

print(contents[1].getName()) # <- 마지막 element 가 출력됨

print(contents[2].getName()) # <- 마지막 element 가 출력됨

print(contents[3].getName()) # <- 마지막 element 가 출력됨

print(contents[4].getName()) # <- 마지막 element 가 출력됨

print(contents[5].getName()) # <- 마지막 element 가 출력됨


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호