Python 초보자가 흔히 저지르는 7가지 실수와 해결 방법

爱喝马黛茶的安东尼
풀어 주다: 2019-06-03 11:23:10
앞으로
4797명이 탐색했습니다.

Python 언어 프로그래밍을 배우는 첫 몇 주 동안 초보자는 많은 구문 오류와 기타 실수에 직면하게 됩니다. 그러나 계속해서 어려움을 극복하고 프로그래밍을 연습한다면 이러한 오류는 크게 줄어들 것입니다. 초보자가 참조할 수 있도록 몇 가지 일반적인 오류와 해결 방법이 아래에 나열되어 있습니다.

Python 초보자가 흔히 저지르는 7가지 실수와 해결 방법

1.SyntaxError 구문 오류

(1) 문자열을 나타내는 데 사용되는 따옴표는 쌍으로 표시되지 않습니다.

오류 메시지:

SyntaxError: EOL while scanning stringliteral

오류 예:

print('hello)

해결책:

문자열을 큰따옴표 안에 넣으세요. 문자열에 작은따옴표나 큰따옴표가 포함되어 있으면 일치하지 않는 따옴표가 생기기 쉽습니다.

(2) 괄호는 쌍으로 표시되지 않습니다.

오류 메시지:

SyntaxError: 구문 분석 중 예기치 않은 EOF

오류 예 1:

a= (1 + (2 / 3) * 4

오류 예 2:

print('hello'

해결책:

괄호를 쌍으로 표시하세요. 이 오류는 복잡한 표현식을 작성하거나 함수를 호출할 때 자주 발생합니다.

(3) print() 함수를 호출할 때 Python 2 구문이 사용됩니다. 정보:

SyntaxError: 괄호가 없습니다. call to'print'

오류 예:

print 'hello'

해결책:

Python 3 구문 형식을 사용하여 print() 함수를 호출합니다. 즉, 초보자가 print('hello' )에서 전환할 때입니다. Python 2에서 Python 3까지는 종종 이런 실수를 합니다.

(4) 오류 메시지:

SyntaxError: 잘못된 구문

오류 예:

a = 1

a++

해결책:

Python에서 C 언어에는 ++ 또는 –와 같은 자체 연산 연산자가 없습니다. 유사한 함수의 사용법은 +.= 또는 -= 연산자입니다. 예를 들어 변수 a를 1씩 증가시키는 경우입니다. += 1

(5) 등호(=)를 사용하여 두 피연산자가 같은지 확인하세요.

오류 메시지:

SyntaxError: 잘못된 구문

오류 예:

if a = 1:

print('hello')

해결책:

두 개의 등호 사용(==)은 두 피연산자가 같은지 여부를 확인하는 관계 연산자로 사용되며 등호(=)는 할당 연산자입니다.

(6) Python 언어 키워드를 변수 이름으로 오용

오류 메시지:

SyntaxError.: 키워드에 할당할 수 없습니다.

오류 예:

True = 1

해결책:

Python 언어를 사용하지 마세요. 키워드를 변수 이름, 함수 이름 또는 클래스 이름 등으로 사용합니다. Python Shell 창에서 help(.'keywords') 명령을 사용하면 Python 언어의 키워드 목록을 볼 수 있습니다.

(7) 콜론( :) if/elif/else/while/for/def/class 및 기타 문 끝에

오류 메시지:

SyntaxError: 잘못된 구문

오류 예 1:

a = 2

if a > 0

print('+')

오류 예 2:

def sayhello()

print('hello ')

해결책:

if/elif/ 끝에 콜론(:)을 추가하세요. else/while/for/def/class 및 기타 문. 문법 규칙을 명심하면 습관이 될 것입니다.

2. 인디네이션 계약 오류 오류 메시지 : indentationError : undentent는 외부의 인기 수준과 일치하지 않습니다 ;

해결책:

들여쓰기를 올바르게 사용하여 코드 형식을 지정하세요. 이 오류는 다른 곳에서 코드를 복사하여 붙여넣을 때 더 자주 발생합니다.

3. NameError

변수명, 함수명, 클래스명을 잘못 기재하거나 함수가 정의되기 전에 동작하는 경우 이름 오류가 발생합니다.

오류 메시지:

NameError: 이름 'pirnt'가 정의되지 않았습니다.

NameError: 이름 'sayhello'가 정의되지 않았습니다.

오류 예 1:

pirnt('hello')

참고: 오류의 원인 인쇄 철자 오류입니다.

오류 예 2:

sayhello()

def sayhello():

pass

참고: 오류가 발생하는 이유는 함수가 정의되기 전에 함수가 호출되기 때문입니다.

해결책:

변수 이름, 함수 이름 또는 클래스 이름을 올바르게 작성하고, 변수를 사용하기 전에 값을 할당하고, 함수 호출 전에 함수 정의를 입력하세요. 이는 특정 이름(식별자)이 사용되기 전에 존재하는지 확인하는 것입니다.

4. TypeError 유형 오류

(1) 정수와 문자열을 연결할 수 없습니다.

오류 메시지:

TypeError: 'int' 객체를 암시적으로 str로 변환할 수 없습니다.

TypeError: +에 대해 지원되지 않는 피연산자 유형: 'float' 및 'str'

오류 예 1:

print('score:'+ 100)

오류 예 2:

print(9.8+ 'seconds')

해결책:

정수, 부동 소수점 숫자 또는 부울 값을 문자열과 연결하기 전에 먼저 다음을 사용하십시오. str() 함수를 사용하여 문자열 형식으로 변환합니다.

(2) 함수 호출 시 매개변수 개수가 올바르지 않거나 매개변수가 전달되지 않습니다.

오류 메시지:

TypeError: 최대 1개의 인수를 입력해야 하는데 2

TypeError: say()에 필수 위치 인수 1개가 누락됨: 'words'

오류 예 1:

input('입력 이름', 'Age' )

참고: 오류의 원인은 input() 함수에 두 번째 매개변수를 제공하려고 하기 때문입니다.

오류 예 2:

def say(words):

print(words)

say()

참고: 오류가 발생하는 이유는 함수 호출 시 매개변수가 전달되지 않았기 때문입니다.

해결책:

함수 사용법을 기억하고, 함수의 매개변수 정의를 이해하고, 올바른 방법을 사용하여 함수를 호출하세요.

5. KeyError

이 오류는 존재하지 않는 키 이름을 사용하여 사전의 요소에 액세스할 때 발생합니다.

오류 메시지:

KeyError: 'c'

오류 예:

d= {'a':1, 'b':2}

print(d['c'])

해결책:

사전의 요소에 접근할 때 먼저 in 키워드를 사용하여 접근하려는 키 이름이 존재하는지 확인하거나, 사전의 get() 메서드를 사용하여 사전의 요소에 안전하게 접근하세요.

6. IndexError 인덱스 오류

액세스 목록의 인덱스가 목록 범위를 초과하면 인덱스 오류가 발생합니다.

오류 메시지:

IndexError: 목록 인덱스가 범위를 벗어났습니다.

오류 예:

a = [1, 2, 3]

print(a[3])

참고: 오류의 원인은 다음과 같습니다. 목록 a가 없습니다. 4번째 인덱스가 있습니다. 목록의 인덱스는 0부터 시작하여 번호가 매겨져 있음을 기억하세요.

해결 방법:

len() 함수를 통해 목록의 길이를 가져온 다음 액세스하려는 인덱스가 목록의 범위를 초과하는지 확인합니다.

7.UnboundLocalError 초기화되지 않은 로컬 변수 오류

함수에서 선언되지 않은 전역 변수를 수정하면 이 오류가 발생합니다.

오류 메시지:

UnboundLocalError: 할당 전에 지역 변수 's'가 참조되었습니다

오류 예:

s = 1

def test():

s += 1

print(s)

test( )

참고: 오류의 원인은 선언되지 않은 전역 변수 s가 함수 내에서 증가하기 때문입니다. Python은 변수 s를 지역 변수로 취급하지만 변수는 초기화되지 않습니다.

해결책:

함수 내에서 전역 변수를 사용할 때는 전역 키워드를 사용하여 선언하세요.

요약

요컨대, 실제 프로그래밍에서는 오류가 발생할 수 밖에 없습니다. 하지만 걱정하지 마세요. 그들은 종이호랑이일 뿐입니다. 초보자는 검색 엔진을 사용하여 문제를 찾아서 해결하고, 발생한 오류를 확인하는 데 능숙해야 합니다. 검색 엔진의 검색창에 오류 메시지의 내용을 입력하면 오류 해결 방법에 대한 많은 정보를 찾을 수 있습니다.

위 내용은 Python 초보자가 흔히 저지르는 7가지 실수와 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿