실제로 특징 인 7 파이썬 오류

Python은 사람들이 얼마나 쉬운 지에 따라 데이터 조작 및 기계 학습 목적으로 많은 데이터 전문가에게 주요 도구가되었습니다. 프로그래밍 언어는 기본적으로 데이터 커뮤니티의 금 표준이되었습니다.
이미 Python에 익숙한 경우 잘못된 구문을 생성하거나 Python의 규칙을 위반할 때마다 잘못된 정보를 얻습니다. 그것은 Python의 디자인 철학에 포함되어있어 오류가 명시 적으로 표시되어야한다는 점을 강조하여 허가보다 용서를 더 쉽게 요청합니다 (EAFP)는 오류가 있는지 알기 전에 코드를 먼저 실행할 수 있습니다.
일부 파이썬 오류는 버그가 아니라 사용자가 파이썬 기술을 향상시키는 데 도움이되는 기능입니다. 우리가 의도적으로 우리의 작업에 대한 지침으로 사용하려면 이러한 오류를 이해하는 것이 중요합니다. 학습 목적 으로이 기사는 기능인 7 가지 파이썬 오류를 탐색합니다.
들어가자.
1. 구문 오류
파이썬 파서가 파이썬 로직을 따르지 않는 유효하지 않은 코드 구문을 만나면 구문 오류가 발생합니다. 부적절한 코드는 오류로 표시되며, 이는 Python의 디자인 기능의 기본이됩니다. 파이썬 코드에서 오류를 보자.
위의 코드는 아래와 같이 구문 오류가 발생합니다.
Cell In[6], line 1
if True print("hello")
^
SyntaxError: invalid syntax
오류는 Python 구문을 준수하지 않는다는 것을 보여줍니다. 구문 오류 설계는 의도적이기 때문에 표준과의 편차가 고정되어야한다는 것을 기본적으로 나타내는 파이썬 기능이기 때문에 의도적입니다. 언어 문법을 따르지 않고 우리가하고 싶은 일을 추측하려고하지 않는 코드를 실행하지 않습니다.
구문 오류는 항상 명확하고 모호하지 않은 코드를 보장합니다. 또한 Python Language를 실행하는 위치에 관계없이 표준이 일관성이 유지되므로 협업에 도움이됩니다.
2. 인덱스 오류
Python을 사용하는 사람이라면 누구나 작업에 목록이나 튜플과 같은 시퀀스 객체를 사용하는 경우가 여러 번 있습니다. 이러한 시퀀스 객체 내에서 데이터에 액세스하려면 인덱싱 방법을 사용해야합니다.
글쎄, 우리가 한계 외부의 색인으로 액세스하면 어떻게됩니까? 파이썬은 오류 메시지를 던집니다. 실제 코드를 사용하여 어떤 일이 발생하는지 봅시다.
lst = [1, 2, 3]
print(lst[5])
위의 코드에는 다음 오류가 발생합니다.
IndexError Traceback (most recent call last)
Cell In[2], line 2
1 lst = [1, 2, 3]
----> 2 print(lst[5])
IndexError: list index out of range
오류는 인덱스 오류로 표시되므로 인덱스가 범위를 벗어 났음을 알립니다. Python은 침묵 패딩을 허용하지 않음을 보여 주므로 오류는 의도적입니다.
그것이 일어나려면, 행동은 더 복잡한 파이프 라인에서 더 많은 문제를 일으키는 미묘한 버그를 일으킬 것입니다. 예를 들어, Python 시퀀스에서의 루핑은 인덱스가 한계를 벗어 났을 때 루프가 깨지며 인덱스 오류가 없으면 발생하지 않습니다.
3. 키 오류
아시다시피, 사전 객체는 키를 내부에 저장된 값에 매핑합니다. 인덱스 오류와 유사하게 사전 객체에 키가 존재하지 않기 때문에 조회가 실패 할 때 사전 객체에 대한 키 오류가 발생합니다. 파이썬 코드에서 어떻게 작용하는지 봅시다.
d = {'a': 1}
print(d['b'])
위의 코드는 다음 오류가 발생합니다.
KeyError Traceback (most recent call last)
Cell In[3], line 2
1 d = {'a': 1}
----> 2 print(d['b'])
KeyError: 'b'
‘B’키가 사전에 있지 않기 때문에 키 오류가 발생합니다. 의도하지 않은 동작이 키에 자리 표시 자 값을 조용히 사용하는 것을 원하지 않기 때문에 Python 이이 오류를 명시 적으로 제기하는 것은 디자인입니다.
이 키 오류를 사용하면 키가 있는지 여부를 추측하는 대신 사전 액세스 중에 구문 실수 또는 논리 오류가 발생할 수 있습니다. Or
4. 이름 오류
이름 오류는 이전에 정의되지 않은 변수를 호출 할 때 발생하는 오류입니다. 이름 오류의 서브 클래스 인 Unbound 로컬 오류라는 유사한 사례가 있습니다. 여기서 정의되기 전에 로컬 변수에 액세스하려는 Python 함수가 있습니다. 아래 코드에서 오류를 보자.
오류는 아래 출력에 표시됩니다.
NameError Traceback (most recent call last)
Cell In[5], line 1
----> 1 print(x)
NameError: name 'x' is not defined
코드는 아직 ‘x’변수를 정의하지 않았기 때문에 오류가 발생합니다. 언 바인딩 로컬 오류에 대한 파이썬 코드를 보자.
def foo():
x = x + 1
foo()
오류는 아래 출력에 표시됩니다.
Cell In[4], line 2, in foo()
1 def foo():
----> 2 x = x + 1
UnboundLocalError: cannot access local variable 'x' where it is not associated with a value
Python의 범위 규칙을 따라야하기 때문에 여기서 두 오류가 발생합니다. 이는 아직 존재하지 않는 변수를 실수로 사용할 수 없다고 명시합니다. 오류를 통해 사용자는 파이썬 작업을 방해 할 변수를 조용히 생성하지 않고 오타 또는 버그를 즉시 잡을 수 있습니다.
5. 오류를 입력하십시오
유형 오류는 오브젝트에서 특정 작업을 수행하지만 객체 유형이 잘못된 경우 발생하는 오류입니다. 아래 파이썬 코드의 유형 오류를 보여 드리겠습니다.
아래 출력에 표시된대로 오류가 발생합니다.
TypeError Traceback (most recent call last)
Cell In[7], line 1
----> 1 next([1, 2, 3])
TypeError: 'list' object is not an iterator
반복자 객체를 다음 함수로 전달할 수 없기 때문에 유형 오류가 발생합니다.
Python은 의도 한 방식으로만 물체를 사용하도록 설계되었습니다. 그렇기 때문에이 오류는 사용자가 미묘한 버그를 예방하고 기능이 의도 한대로 작동하도록하는 데 도움이됩니다.
6. 값 오류
유형 오류와 달리 함수가 올바른 유형 인수를받지 만 부적절한 값을 받으면 값 오류가 발생합니다. 파이썬 코드로 보여 드리겠습니다.
오류는 아래 결과에 나와 있습니다.
ValueError Traceback (most recent call last)
Cell In[8], line 1
----> 1 int("abc")
ValueError: invalid literal for int() with base 10: 'abc'
유효한 숫자가 아닌 문자열 값을 전달하기 때문에 값 오류가 발생한다는 것을 알 수 있습니다. 함수는 올바른 유형을받지 만 적절한 값은 수신되므로 Python은 오류입니다. 오류가 우리의 작업을 방해 할 수 있으므로 오류를 무시하거나 자리 표시자를 가치있게하는 대신 오류가 발생하고 있음을 보여주는 파이썬 디자인입니다.
7. 어설 션 오류
어설 션 오류는 Assert 진술서를 사용하고 조건이 충족되지 않거나 거짓일 때 발생합니다. 파이썬 작업의 가정을 디버깅하고 시행하는 데 유용한 기능입니다. 아래 Python 코드의 오류를 보자.
assert 2 + 2 == 5, "It's not right"
다음 오류가 발생합니다.
AssertionError Traceback (most recent call last)
Cell In[13], line 1
----> 1 assert 2 + 2 == 5, "It's not right"
AssertionError: It's not right
코드 2 + 2 == 5
Assert 진술을 활용할 때 오류가 발생하여 잘못된 값을 생성합니다. 위에서 본 것과 유사하게 Assert를 사용할 때 오류에 대한 세부 정보를 항상 포함시킬 수 있습니다.
어설 션 오류는 쉽게 디버깅을 할 수있는 고장 케이스링 시스템을 설정할 수 있으므로 사용자는 개발에 유연성을 제공하는 데 도움이됩니다. 어설 션 오류가 제기되는 조건을 선택함으로써 오류가 어떻게 행동 해야하는지에 대해 더 많은 제어를 얻습니다.
결론
많은 데이터 전문가가 Python을 사용합니다. 프로그래밍 언어는 때때로 실제로 특징 인 오류가 발생하므로 눈을 뜨고 트레이스 백 스택을 검사해야합니다.
이것이 도움이 되었기를 바랍니다!
Cornellius Yudha Wijaya 데이터 과학 보조 관리자 및 데이터 작성자입니다. 그는 Allianz Indonesia에서 풀 타임으로 일하는 동안 소셜 미디어 및 작문 미디어를 통해 Python과 데이터 팁을 공유하는 것을 좋아합니다. Cornellius는 다양한 AI 및 기계 학습 주제에 대해 글을 씁니다.
Post Comment