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