편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.07.29

    리스트에 있는 값들에 클래스를 사용하고 싶은데 (코드와 에러메시지 추가)


    a = class()

    b = class()

    c = class()

    .

    .

    z = closs()

    클래스를 사용하기 위해서는 " 인스턴스 = 클래스() " 로 입력 해야한다고 봤습니다. 이런 식으로 a 부터 z 까지 일일이 입력하는 것이 아니라 리스트를 만들고 반복문을 만들었습니다. 그리고 인스턴스가 몇개 만들어 졌는지 확인하기 위해서 클래스메소드에 함수를 만들어 count를 확인했습니다.

    my_list = [ 'a', 'b', 'c' .... 'z' ]

    카운트는 알파벳 수인 26개로 확인되었습니다. type(a) 를 입력해서 타입을 확인 해봤습니다. 찾을 수 없다는 에러 메세지가 나왔습니다.

    직접 a = class() 라고 입력하면 인스턴스가 만들어지고 type 을 확인 했을 때도 class 가 맞는데, 리스트와 반복문을 사용 했을때는 인스턴스가 리스트 길이 만큼 만들어 졌지만 type 을 확인 했을 때는 찾을 수 없다는 에러 메서지가 나왔습니다.

    왜 이런 결과가 나오는지 궁금합니다.

    7월 29일 질문에 코드와 에러메세지를 추가합니다.

    
    class Test_class:
        count = 0
    
        def __init__(self):
            Test_class.count += 1
    
        @classmethod
        def print_count(cls):
            print('{0}개 입니다.'.format(cls.count))
    
    
    Test_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    
    
    def test_def():
    
        list2 = []
        index0 = 0
    
        for i in range(len(Test_list)):
            n = index0
            target = Test_list[index0]
            list2.append(target)
            k = Test_list[index0]
            k = Test_class()
            index0 = index0 + 1
    
        print(list2)
    
    
    test_def()
    
    Test_class.print_count()
    
    
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    9개 입니다.
    

    실행시간: 13.80ms

    여기 까지는 잘 진행이 된 것 처럼 확인이 됩니다.

    이후 type(a) 를 입력하면 다음과 같은 에러 메세지가 나타납니다.

    type(a)
    
    실행 중 오류가 발생했습니다.
    Traceback (most recent call last):
    File "/solution.py", line 36, in <module>
    type(a)
    NameError: name 'a' is not defined
    
  • 프로필 nowp님의 편집
    날짜2019.07.29

    리스트에 있는 값들에 클래스를 사용하고 싶은데 (코드와 에러메시지 추가)


    a = class()

    b = class()

    c = class()

    .

    .

    z = closs()

    클래스를 사용하기 위해서는 " 인스턴스 = 클래스() " 로 입력 해야한다고 봤습니다. 이런 식으로 a 부터 z 까지 일일이 입력하는 것이 아니라 리스트를 만들고 반복문을 만들었습니다. 그리고 인스턴스가 몇개 만들어 졌는지 확인하기 위해서 클래스메소드에 함수를 만들어 count를 확인했습니다.

    my_list = [ 'a', 'b', 'c' .... 'z' ]

    카운트는 알파벳 수인 26개로 확인되었습니다. type(a) 를 입력해서 타입을 확인 해봤습니다. 찾을 수 없다는 에러 메세지가 나왔습니다.

    직접 a = class() 라고 입력하면 인스턴스가 만들어지고 type 을 확인 했을 때도 class 가 맞는데, 리스트와 반복문을 사용 했을때는 인스턴스가 리스트 길이 만큼 만들어 졌지만 type 을 확인 했을 때는 찾을 수 없다는 에러 메서지가 나왔습니다.

    왜 이런 결과가 나오는지 궁금합니다.

    7월 29일 질문에 코드와 에러메세지를 추가합니다.

    
    class Test_class:
        count = 0
    
        def __init__(self):
            Test_class.count += 1
    
        @classmethod
        def print_count(cls):
            print('{0}개 입니다.'.format(cls.count))
    
    
    Test_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    
    
    def test_def():
    
        list2 = []
        index0 = 0
    
        for i in range(len(Test_list)):
            n = index0
            target = Test_list[index0]
            list2.append(target)
            k = Test_list[index0]
            k = Test_class()
            index0 = index0 + 1
    
        print(list2)
    
    
    test_def()
    
    Test_class.print_count()
    
    
    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    9개 입니다.
    

    실행시간: 13.80ms

    type(a)
    

    실행 중 오류가 발생했습니다.

    Traceback (most recent call last):
    File "/solution.py", line 36, in <module>
    type(a)
    NameError: name 'a' is not defined
    
  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.07.29

    리스트에 있는 값들에 클래스를 사용하고 싶은데 (코드와 에러메시지 추가)


    a = class()

    b = class()

    c = class()

    .

    .

    z = closs()

    클래스를 사용하기 위해서는 " 인스턴스 = 클래스() " 로 입력 해야한다고 봤습니다. 이런 식으로 a 부터 z 까지 일일이 입력하는 것이 아니라 리스트를 만들고 반복문을 만들었습니다. 그리고 인스턴스가 몇개 만들어 졌는지 확인하기 위해서 클래스메소드에 함수를 만들어 count를 확인했습니다.

    my_list = [ 'a', 'b', 'c' .... 'z' ]

    카운트는 알파벳 수인 26개로 확인되었습니다. type(a) 를 입력해서 타입을 확인 해봤습니다. 찾을 수 없다는 에러 메세지가 나왔습니다.

    직접 a = class() 라고 입력하면 인스턴스가 만들어지고 type 을 확인 했을 때도 class 가 맞는데, 리스트와 반복문을 사용 했을때는 인스턴스가 리스트 길이 만큼 만들어 졌지만 type 을 확인 했을 때는 찾을 수 없다는 에러 메서지가 나왔습니다.

    왜 이런 결과가 나오는지 궁금합니다.

    7월 29일 질문에 코드와 에러메세지를 추가합니다.

    '''

    class Test_class: count = 0

    def __init__(self):
        Test_class.count += 1
    
    @classmethod
    def print_count(cls):
        print('{0}개 입니다.'.format(cls.count))
    

    Test_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']

    def test_def():

    list2 = []
    index0 = 0
    
    for i in range(len(Test_list)):
        n = index0
        target = Test_list[index0]
        list2.append(target)
        k = Test_list[index0]
        k = Test_class()
        index0 = index0 + 1
    
    print(list2)
    

    '''
    test_def()

    Test_class.print_count()

    ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'] 9개 입니다. 실행시간: 13.80ms

    type(a)

    실행 중 오류가 발생했습니다. Traceback (most recent call last): File "/solution.py", line 36, in type(a) NameError: name 'a' is not defined