์ƒˆ์†Œ์‹

๐Ÿ ํŒŒ์ด์ฌ (Python)/-- ๋ฌธ๋ฒ•

ํŒŒ์ด์ฌ(Python) ๊ธฐ์ดˆ (14) ์—๋Ÿฌ์˜ ์ข…๋ฅ˜ , ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ , ๋ฌธ๋ฒ• ์—๋Ÿฌ

  • -

 ์—๋Ÿฌ์˜ ๋ฐœ์ƒ์š”์†Œ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์˜ ๋ฌธ์ œ๋ฟ ์•„๋‹ˆ๋ผ, ์™ธ๋ถ€์š”์ธ ๋ฐ ๋‚ด๋ถ€์š”์ธ(์ปดํ“จํ„ฐ ๋‚ด๋ถ€)์—์„œ๋„ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์—๋Ÿฌ์— ๋Œ€์ฒ˜ํ•˜๋Š” ๋ถ€๋ถ„์˜ ์ฝ”๋”ฉ์ด ์žˆ๋‹ค๋ฉด, ์ข€๋” ์™„์„ฑ๋„ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ , ๋ฌธ๋ฒ•์ ์œผ๋กœ๋Š” ์—๋Ÿฌ๊ฐ€ ์—†์ง€๋งŒ, ๋Ÿฐํƒ€์ž„(์ฝ”๋“œ์‹คํ–‰) ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

* ์—๋Ÿฌ์˜ ์ข…๋ฅ˜

#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์—๋Ÿฌ๋ฐœ์ƒ

์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํ™”๋ฉด

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.