편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2020.09.04

    클래스 생성 소멸


    class cls:
    
        log = []
    
        def __init__(self, name):
            self.name = name    
            print(self.name + " 생성.")
    
        def add(self, val):    
            self.log.append(val)    
    
        def __del__(self):
            self.log.clear()  #################################### 이 부분
            print(self.name + " 소멸.")
    
    logs = []
    
    mycls = cls('a1')
    
    mycls.add("aa1")
    
    logs.append(mycls.log)
    
    
    mycls = cls('b1')
    
    mycls.add("bb2")
    
    logs.append(mycls.log)
    
    
    print(logs)
    

    위 코드에서 logsaa1, bb2 만 저장할려고 합니다.
    위 #####부분 삭제 하면 aa1,bb2 aa1, bb2로 저장 됩니다.
    제가 C# 개발자여서 그런지 self.log.clear()가 없어야 될 것 같은데..
    고수님 부탁드립니다.

  • 프로필 김종석님의 편집
    날짜2020.09.04

    클래스 생성 소멸


    class cls:

    log = []
    
    def __init__(self, name):
        self.name = name    
        print(self.name + " 생성.")
    
    def add(self, val):    
        self.log.append(val)    
    
    def __del__(self):
        self.log.clear()  #################################### 이 부분
        print(self.name + " 소멸.")
    

    logs = []

    mycls = cls('a1')

    mycls.add("aa1")

    logs.append(mycls.log)

    mycls = cls('b1')

    mycls.add("bb2")

    logs.append(mycls.log)

    print(logs)

    위 코드에서 logs에 aa1, bb2 만 저장할려고 합니다. 위 #####부분 삭제 하면 aa1,bb2 aa1, bb2로 저장 됩니다. 제가 C# 개발자여서 그런지 self.log.clear()가 없어야 될 것 같은데.. 고수님 부탁드립니다.