Best answer
Good Evening,
다행히 안전한 개체를 구현하는 일부 언어 비록 파이썬에서 많이 알지는 못하지만 우리는 접근하는 객체가 범위 검사를한다고 가정 할 수 있습니다.
이 매우 간단한 문장에서 이해할 수있는 것은 파이썬이 기본의 일부에서 객체를 생성한다는 것입니다. 데이터 유형을 지정하고 필요에 따라 접근자를 암묵적으로 호출하고 변환 및 범위 검사, 변환 등을 수행하므로 논리적 오류가 있습니다. 범위를 벗어난 튜플에 액세스 한 이유를 확인하십시오. 코드에 인덱스 오류가 있음 및 / 또는 튜플 크기.
다른 언어가 허용하는 작업에서 더 관대하다는 것을 나타내는 메모입니다. 그러면 런타임 오류가 발생합니다. 범위를 벗어난 액세스는 의도하지 않은 데이터를 읽고 다른 개체의 메모리에도 쓸 수 있으므로 데이터가 손상되어 결국 데이터 손실 또는 실행 ti가 발생합니다. 나 충돌합니다.
감사합니다
Jean-François
Answer
python 목록은 변경 가능하므로 크기가 고정되지 않습니다.
크기가 고정되어 있지 않기 때문에
목록에 할당 된 값을 기반으로 python 메모리 관리-내부적으로 0, 4의 성장 패턴으로 목록 (사용 가능한 색인)을 생성합니다. , 8, 16, 25, 35, 46, 58, 72, 88,… realloc ()을 여러 번 호출하는 대신.
하지만 목록에 할당 된 값은 list ( 사용 가능한 색인).
목록의 경우 사용 가능한 색인 > 할당 된 색인
비어 있음 또는 없음 에 액세스하려는 경우 목록의 사용 가능한 색인을 가리키면 “ 목록 색인이 범위를 벗어남 오류”가 표시됩니다.
python을 열고 손을 더럽 힙니다. 일과 함께 이해를 돕기 위해 코드 아래에 있습니다.
> x = list ( 1234)
>> x
[ 1, 2, 3, 4]
>> 길이 = len (x)
4
>> x [length ]
색인 오류 : 목록 색인이 범위를 벗어남
참고 : 목록 색인은 0부터 시작합니다.
하지만 여기서 길이는 4입니다.
위 목록의 할당은 다음과 같습니다.
x [0] = 1
x [1] = 2
x [2] = 3
x [3] = 4
x [4] =?
인 x [4]에 액세스하려는 경우 존재하지 않음 , 목록 색인이 범위를 벗어납니다.
목록이 내부적으로 메모리를 할당하는 방법을 더 잘 이해하려면이 링크를 참조하세요. Python 목록 구현 .
감사합니다 !!!