TypeError: 'type' object is not subscriptable

 

첨자 가능한(subscriptable)이라는 개념입니다. []는 첨자 연산자(subscript operator)라고 부릅니다.

a = [1,2,3,4]가 있다면 a[0]처럼 첫 번째 원소를 가리키는 것이 첨자 연산자의 역할입니다. 파이썬은 슬라이스를 사용해 범위까지 가르킬 수 있습니다.



IndexError: list index out of range

 

if(a)

try:

exception

 

# 올바른 값을 넣지 않으면 에러를 발생시키고 적당한 문구를 표시한다.

def rsp(mine, yours):

    allowed = ['가위','바위', '보']

    if mine not in allowed:

        raise ValueError

    if yours not in allowed:

        raise ValueError

 

try:

    rsp('가위', '바')

except ValueError:

    print('잘못된 값을 넣었습니다!')



# 190이 넘는 학생을 발견하면 반복을 종료한다.

school = {'1반' : [150, 156, 179, 191, 199], '2반' : [150, 195, 179, 191, 199]}

 

try:

    for class_number, students in school.items():

        for student in students:

            if student > 190:

                print(class_number, '190을 넘는 학생이 있습니다.')

                # break # 바로 상위 for문은 종료되지만 최고 상위 for문은 종료되지 않는다.

                raise StopIteration

                # 예외가 try 문 안에 있지 않으면 에러 발생시 프로그램이 멈춘다.

except StopIteration:

    print('정상종료') 



# 모든 에러 처리

try:

    list = []

    print(list[0])  # 에러가 발생할 가능성이 있는 코드

 

    text = 'abc'

    number = int(text)

except:

    print('에러발생')

 

# 에러 이름 확인

try:

    list = []

    print(list[0])  # 에러가 발생할 가능성이 있는 코드

 

except Exception as ex: # 에러 종류

    print('에러가 발생 했습니다', ex) # ex는 발생한 에러의 이름을 받아오는 변수

    # 에러가 발생 했습니다 list index out of range



try:

    import your_module

except ImportError:

    print('모듈이 없습니다.')




 

항상 새롭네...

'{BE} Python 3.1x' 카테고리의 다른 글

파이썬을 쉘로 써보기  (0) 2021.05.26
파이썬 수 체계  (0) 2021.05.26
python 빌드해서 에러 문구 교체해 봄.  (0) 2021.05.26
how to see the encoding  (0) 2021.05.26
AI 기본은 필수...  (0) 2021.05.20

+ Recent posts