์๋ฌ์ ๋ฐ์์์๊ฐ ์๊ฐ๋ณด๋ค ๋ค์ํฉ๋๋ค. ์ฝ๋์ ๋ฌธ์ ๋ฟ ์๋๋ผ, ์ธ๋ถ์์ธ ๋ฐ ๋ด๋ถ์์ธ(์ปดํจํฐ ๋ด๋ถ)์์๋ ๊ฐ๋ฅํ๋ฏ๋ก ์์ธ์ฒ๋ฆฌ๋ฅผ ํตํด ์๋ฌ์ ๋์ฒํ๋ ๋ถ๋ถ์ ์ฝ๋ฉ์ด ์๋ค๋ฉด, ์ข๋ ์์ฑ๋ ์๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๋ฌธ๋ฒ์ ์ผ๋ก๋ ์๋ฌ๊ฐ ์์ง๋ง, ๋ฐํ์(์ฝ๋์คํ) ํ๋ก์ธ์ค์์ ๋ฐ์ํ๋ ์์ธ์ฒ๋ฆฌ๋ ์ค์ํฉ๋๋ค.
* ์๋ฌ์ ์ข
๋ฅ
#SyntaxError : ์๋ชป๋ ๋ฌธ๋ฒ (๋ฐ์ดํ ๋ฐ ๊ดํธ)
#์๋ฌ๋ฅผ ๋ฐ์ํ๋ ์์ ๋ค
#1
print("ABC) #๋ซ๊ธฐ ๋ฐ์ดํ ๋๋ฝ
#2
a=1
if a==1 # ์ฝ๋ก (:) ๋๋ฝ
print("a๋ 1์
๋๋ค")
#3
x = y : # ๋ฑํธ (=)๋ 2๊ฐํ์ x==y
pass
์๋ฌ๋ฉ์์ง : SyntaxError : invalid syntax
#NameError : ์ฐธ์กฐ๋ณ์ ์์
a ,b = 10,5
print(c)
#c๋ฅผ ์ ์ธํ์ง ์์์. ์ฐธ์กฐ๋ณ์ ์์
์๋ฌ๋ฉ์์ง : name ' ' is not defined
#ZeroDivisionError : 0์ผ๋ก ๋๋๊ธฐ ์๋ฌ
a = 10
b = 0
print(a/b) #0์ผ๋ก ๋๋ ์ ์๋ค.
์๋ฌ๋ฉ์์ง : ZeroDivisionError: division by zero
#IndexError : ์ธ๋ฑ์ค ๋ฒ์ ์ด๊ณผ
x = [10,20,30]
print(x[0])
print(x[3]) #์ธ๋ฑ์ค ์ด๊ณผ ( x์ ์ธ๋ฑ์ค๋ 0, 1, 2๋ง ์กด์ฌ)
์๋ฌ๋ฉ์์ง : IndexError: list index out of range
#KeyError: Key๊ฐ์ ์ฐพ์ ์ ์์ (๋์
๋๋ฆฌ )
dic = {'name': 'apple', 'color' : 'red'}
print(dic['price']) #price๋ผ๋ key๋ ์๋ค. key๋ 'name'์ 'color'๋ฟ.
์๋ฌ๋ฉ์์ง : KeyError : ' '
***KeyError๋ฅผ ๋ฐ์ํ์ง ์๊ธฐ ์ํด์๋ get ๋ฉ์๋ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ Key๋ฅผ ์ฐพ์๋ ์๋ฌ๊ฐ ์๋ 'None'์ ๋ฆฌํดํจ.
#get ๋ฉ์๋ ์์
dic = {'name': 'apple', 'color' : 'red'}
print(dic.get('price'))
์ถ๋ ฅ >>>>>>>>>>> None
#AttributeError : ๋ชจ๋ ํด๋์ค์ ์๋ ์๋ชป๋ ์์ฑ ์ฌ์ฉ์ ๋ฐ์ํ๋ ์์ธ
import random
a = random.randin(0,10) # 0๋ถํฐ 10๊น์ง์ ๋์ ์์ฑ. randin์ด ์๋๋ผ randint๋ก ์
๋ ฅํด์ผํ๋ค.
print(a)
์๋ฌ๋ฉ์์ง : AttributeError : module ' ' has no attribute ' '
#Value Error : ์ฐธ์กฐ๊ฐ์ด ์์ ๋ ๋ฐ์
x = [1,3,4,5,15,5,9]
print(x.index(10))
# '10'์ x์ ์๋ ๊ฐ. ์ฆ ์๋ Value์ด๋ฏ๋ก ์๋ฌ๋ฐ์
# FilenotFoundError : ์ธ๋ถํ์ผ์ ์ฐพ์ง ๋ชปํ ๋ ๋ฐ์
f = open('์ด๋ฐํ์ผ์์.txt', 'r') # ์ ํํ ํ์ผ๊ฒฝ๋ก์ ํ์ผ๋ช
์ ์
๋ ฅํด์ผ ์๋ฌ๋ฐ์ X
# TypeError : ๋ฐ์ดํฐ ํ์
์ผ๋ก ์ธํ ์ค๋ฅ
x = [3] #๋ฆฌ์คํธ
y = (1,5) #ํํ
z = 'text' #string
print(x+y+z) #๋น์ฐํ ์ฐ์ฐ์ด ์๋จ. Type์๋ฌ๋ฐ์