🐍 파이썬 (Python)

파이썬(Python) 기초 (14) μ—λŸ¬μ˜ μ’…λ₯˜ , μ—λŸ¬ λ©”μ‹œμ§€ , 문법 μ—λŸ¬

Newmon 2019. 12. 16. 16:06

 μ—λŸ¬μ˜ λ°œμƒμš”μ†Œκ°€ 생각보닀 λ‹€μ–‘ν•©λ‹ˆλ‹€. μ½”λ“œμ˜ 문제뿐 μ•„λ‹ˆλΌ, μ™ΈλΆ€μš”μΈ 및 λ‚΄λΆ€μš”μΈ(컴퓨터 λ‚΄λΆ€)μ—μ„œλ„ κ°€λŠ₯ν•˜λ―€λ‘œ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό 톡해 μ—λŸ¬μ— λŒ€μ²˜ν•˜λŠ” λΆ€λΆ„μ˜ 코딩이 μžˆλ‹€λ©΄, 쒀더 완성도 μžˆλŠ” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

그리고, λ¬Έλ²•μ μœΌλ‘œλŠ” μ—λŸ¬κ°€ μ—†μ§€λ§Œ, λŸ°νƒ€μž„(μ½”λ“œμ‹€ν–‰) ν”„λ‘œμ„ΈμŠ€μ—μ„œ λ°œμƒν•˜λŠ” μ˜ˆμ™Έμ²˜λ¦¬λ„ μ€‘μš”ν•©λ‹ˆλ‹€.

* μ—λŸ¬μ˜ μ’…λ₯˜

#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μ—λŸ¬λ°œμƒ

μ—λŸ¬ λ©”μ‹œμ§€ ν™”λ©΄