반응형

안녕하세요

오늘은 파이썬 초보자들이 자주하는 실수 20개를 모아봤습니다

 

 

1. 인덱싱 오류

리스트의 첫 번째 항목은 0번 인덱스에 있으므로, 리스트의 마지막 항목을 얻으려면 -1번 인덱스를 사용해야 합니다.

 

numbers = [1,2,3,4,5]
print(numbers[5]) #error: list index out of range
print(numbers[-1]) #5

 

2. 대소문자 구분

파이썬은 대소문자를 구분합니다.

 

name = "John"
print(Name) # Name is not defined
print(name) # John


3. 띄어쓰기 오류

파이썬에서는 띄어쓰기가 문법에 중요한 역할을 합니다.

 

x = 5
if x > 0 : print("x is positive")
  print("this is in the if block") # IndentationError: unexpected indent


4. 자료형 오류

자료형에 맞는 함수나 연산자를 사용해야 합니다.

 

name = "John"
age = 25
print(name + age) # TypeError: must be str, not int
print(name + str(age)) # John25


5. 세미콜론(;) 사용 오류

파이썬에서는 세미콜론(;)을 사용하지 않습니다.

 

x = 5; y = 10 
print(x + y) # SyntaxError: invalid syntax


6. 변수 할당 오류

= 연산자를 사용하여 변수에 값을 할당하는 것을 잊지 마세요.

 

x == 5 #False
x = 5 #


7. 제너레이터 오류

제너레이터 객체를 여러번 사용할 경우 StopIteration 에러가 발생합니다.

 

gen = (i for i in range(3))
print(next(gen)) # 0
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # StopIteration


8. 딕셔너리 오류

존재하지 않는 키를 사용할 경우 KeyError가 발생합니다.

 

d = {'a':1, 'b':2}
print(d['c']) #KeyError: 'c'
print(d.get('c', 0)) #0


9. 파일 열기 오류

파일을 열 때 파일 경로를 잘못 입력하면 FileNotFoundError가 발생합니다.

 

f = open('test.txt', 'r') #FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'


10. 입력 오류

input() 함수를 사용할 때 잘못된 형식의 입력을 받았을 경우 ValueError가 발생합니다.

 

num = input("Enter a number: ")
print(num)
print(int(num)) # ValueError: invalid literal for int() with base 10: 'hello'


11. 모듈/패키지 찾는 오류

import문에서 모듈/패키지를 찾을 수 없을 경우 ImportError가 발생합니다.

 

import some_module
#ImportError: No module named 'some_module'


12. 함수 이름 오류

함수를 찾을 수 없을 경우 NameError가 발생합니다.

 

def add(a, b):
    return a + b

print(sum(2, 3)) #NameError: name 'sum' is not defined


13. 불리언 연산 오류

불리언 연산을 잘못 사용할 경우 TypeError가 발생합니다.

 

x = [1,2,3]
if x == True:
    print("x is True") # TypeError: argument of type 'list' is not iterable


14. 리스트 수정 오류

튜플은 수정이 불가능 하므로, 튜플을 리스트로 잘못 사용할 경우 TypeError가 발생합니다.

 

t = (1, 2, 3)
t[0] = 5 # TypeError: 'tuple' object does not support item assignment

 

15. 서로 다른 자료형 비교 오류

파이썬에서는 서로 다른 자료형을 비교할 수 없습니다.

 

a = "5"
b = 5
if a == b:
    print("a and b are equal") # TypeError: '==' not supported between instances of 'str' and 'int'


16. 범위 오류

range() 함수를 사용할 때, 시작 인덱스를 포함하지 않도록 잘못 지정할 경우 ValueError가 발생합니다.

 

for i in range(5, 10):
    print(i)
#ValueError: range() arg 3 must not be zero


17. 인덱싱 오류

인덱싱을 잘못하면 인덱스가 없는 값을 가져오려 할 수 있습니다.

 

names = ['John', 'Mike', 'Sarah']
print(names[3]) # IndexError: list index out of range


18. 속성 오류

객체에 존재하지 않는 속성을 참조할 경우 AttributeError가 발생합니다.

 

 

class Person:
    def __init__(self, name):
        self.name = name

p = Person("John")
print(p.age) # AttributeError: 'Person' object has no attribute 'age'


19. 문자열 포맷 오류

문자열 포맷을 잘못 사용할 경우 ValueError가 발생합니다.

 

name = "John"
age = 25
print("My name is % and I am %d years old." % (name, age)) #ValueError: incomplete format


20. 딕셔너리 키 오류

딕셔너리에서 키를 잘못 사용할 경우 KeyError가 발생합니다.

 

name = "John"
age = 25
print("My name is % and I am %d years old." % (name, age)) #ValueError: incomplete format

 

 

이러한 실수를 방지하기 위해서는 각 오류들이 무엇을 의미하는지 이해하는 것이 중요합니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기