안녕하세요
오늘은 파이썬 초보자들이 자주하는 실수 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
이러한 실수를 방지하기 위해서는 각 오류들이 무엇을 의미하는지 이해하는 것이 중요합니다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
Pandas 기초 살펴보기 (0) | 2023.04.03 |
---|---|
변수 및 데이터 유형 이해 (0) | 2023.04.02 |
파이썬 기초 문법 정리 및 예시코드 (0) | 2023.03.24 |
초보자를 위한 예시코드가 포함된 Pandas관련 실수 모음 17선 (0) | 2023.01.27 |
[쥬피터노트북] 알아두면 유용한 매직 커맨더 (0) | 2022.01.07 |
최근댓글