λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ

🀷🏼‍♀️ Etc.../- C, C++, Python, Android43

Python κ³ κΈ‰ : 객체와 클래슀(2) 상속에 κ΄€ν•˜μ—¬ μƒμ†μ˜ 사전적 의미 μœ μ‚°μ„ 상속받닀에 λŒ€ν•œ 의미λ₯Ό μ΄ν•΄ν•˜λŠ”κ°€? λΆ€λͺ¨λ‹˜μ—κ²Œ λΆ€λͺ¨λ‹˜μ΄ κ°–κ³ μžˆλ˜ μž¬μ‚°μ„ μžμ‹μ΄ μƒμ†λ°›κ²Œ λ˜μ–΄ λΆ€λͺ¨μ˜ μž¬μ‚°μœΌλ‘œ μƒˆλ‘œμš΄ 일을 μ‹œμž‘ν•  수 있게 λœλ‹€. μ΄λŸ¬ν•œ μ˜λ―Έκ°€ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ, νŒŒμ΄μ¬μ—μ„œ μ •ν™•νžˆ λΆ€ν•©ν•œλ‹€. νŒŒμ΄μ¬μ—μ„œ 상속 기쑴의 μ½”λ“œλ₯Ό μ΄μš©ν•˜μ—¬ μƒˆλ‘œμš΄ κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κ²Œ ν•  수 μžˆλŠ” 것이 λ°”λ‘œ 상속이라고 ν–ˆλŠ”λ°, μ—¬κΈ°μ„œ 기쑴의 μ½”λ“œλ₯Ό λΆ€λͺ¨ 클래슀 λ˜λŠ” 슈퍼 클래슀, 베이슀 클래슀라고 λΆ€λ₯΄κ³  μƒˆλ‘œμš΄ κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” μ½”λ“œλ₯Ό μžμ‹ 클래슀, μ„œλΈŒ 클래슀, νŒŒμƒλœ 클래슀라고 ν•œλ‹€. λΆ€λͺ¨ 클래슀 Aκ°€ 있고 AλŠ” 걸을 수 있고, 말을 ν•  수 μžˆλ‹€. class Father(): def walk(self): print('can walk') def talk(self): print('can talk').. 2019. 12. 8.
Python κ³ κΈ‰: 객체와 클래슀(1) μž…λ¬Έν•˜κΈ° λ‚˜λŠ” 첫 μ–Έμ–΄λ₯Ό Java둜 μ‹œμž‘ν–ˆκΈ° λ•Œλ¬Έμ— 객체와 ν΄λž˜μŠ€μ— λŒ€ν•œ 이해도가 쑰금 μžˆλŠ” νŽΈμ΄λ‹€. λ‹€λ₯Έ μ–Έμ–΄λ₯Ό ν•˜μ˜€λ“ , ν•˜μ§€ μ•Šμ•˜λ“  μ—¬λŸ¬λΆ„λ“€μ€ 객체λ₯Ό 많이 μ‚¬μš©ν•˜μ˜€λ‹€. μ²˜μŒμ—λ„ 말 ν–ˆλ“―μ΄ νŒŒμ΄μ¬μ€ λͺ¨λ“  것이 κ°μ²΄λΌλŠ” 점을 생각해본닀면, 객체에 λŒ€ν•˜μ—¬ ν•™μŠ΅ν•˜λŠ” 것이 κ·Έλ‹€μ§€ 큰 어렀움이 μ—†κΈΈ λ°”λž€λ‹€. 객체와 ν΄λž˜μŠ€λž€ 무엇인가? κ°μ²΄λž€ μœ„μ˜ μ‚¬μ§„μœΌλ‘œ 보자면, μš°λ¦¬κ°€ λ§Œμ•½ μžλ™μ°¨ 곡μž₯을 μš΄μ˜ν•œλ‹€κ³  치자. κ·Έλ ‡λ‹€λ©΄ λ‹€μŒκ³Ό 같은 μˆœμ„œλ‘œ μžλ™μ°¨ 곡정 운영이 될 것이닀. μžλ™μ°¨ ν‹€ 생성 - > (클래슀) μžλ™μ°¨ 틀은 μ—¬λŸ¬ μžλ™μ°¨λ₯Ό 찍기 μœ„ν•΄μ„œ μžλ™μ°¨ λͺ¨μ–‘μ˜ 주물을 μ΄μš©ν•œλ‹€. μžλ™μ°¨ ν‹€λ‘œ μžλ™μ°¨ 생성 - > (λ©”μ„œλ“œ) μžλ™μ°¨ ν‹€λ‘œ μ‚¬μš©μžκ°€ μ›ν•˜λŠ” κΈ°λŠ₯의 μ˜΅μ…˜λ“€μ„ μΆ”κ°€ν•˜μ—¬ μžλ™μ°¨λ₯Ό μƒμ„±ν•œλ‹€. μžλ™μ°¨ 판맀 - > (객체) 같은 .. 2019. 12. 8.
Python μ˜ˆμ™Έλ₯Ό λ‹€λ€„λ³΄μž. 짧은 κΈ°κ°„λ™μ•ˆ ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ©΄μ„œ μˆ˜λ§Œκ°€μ§€ 였λ₯˜λ₯Ό μ ‘ν•œ 적이 μžˆμ—ˆλ‹€. 특히 μ½˜μ†”μ„ 예둜 λ“€μžλ©΄ μ½˜μ†”μ—μ„œ μ˜ˆμ™Έκ°€ λ°œμƒν•΄λ²„λ¦¬λ©΄ κ·ΈλŒ€λ‘œ μ’…λ£Œλ˜κ±°λ‚˜, 더 진행이 λΆˆκ°€λŠ₯ ν•œ 점듀이 μžˆμ—ˆλŠ”λ° 그럴 λ•Œλ₯Ό λŒ€λΉ„ν•˜μ—¬ ν•™μŠ΅ν•œ 것이 μ˜ˆμ™Έ μ²˜λ¦¬μ΄λ‹€. μžλ°”μ—μ„œ μ˜ˆμ™Έ 처리λ₯Ό ν•  λ•ŒλŠ” try-catch λ₯Ό μ‚¬μš©ν–ˆμ§€λ§Œ νŒŒμ΄μ¬μ—μ„œ λ‹€λ₯Έ μ΄λ¦„μ˜ λ™μΌν•œ λ™μž‘μ„ ν•˜λŠ” try-except에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž. μ˜ˆμ™Έ μ²˜λ¦¬ν•˜κΈ° : try, except try μ •μƒμ μœΌλ‘œ μˆ˜ν–‰λ˜μ•Όν•˜λŠ” μ†ŒμŠ€κ°€ λ“€μ–΄κ°€μ•Ό ν•œλ‹€. except 정상적이지 μ•ŠλŠ” 상황이 λ˜μ—ˆμ„ λ•Œ, 예λ₯Ό λ“€μ–΄ λ°°μ—΄ 값을 λ„˜μ—ˆλ‹€λ˜κ°€ ν•  λ•Œ κ·Έλ₯Ό λ‹€λ£¨λŠ” μ†ŒμŠ€κ°€ λ“€μ–΄κ°€μ•Όν•œλ‹€. μ˜ˆμ™Έμ²˜λ¦¬ μ˜ˆμ‹œ some_arr = [1, 2, 3, 4, 5] try: some_arr[5] = 10 except: prin.. 2019. 12. 7.
Python Generator & Decorator 파이썬 μ œλ„ˆλ ˆμ΄ν„°μ™€ λ°μ»€λ ˆμ΄ν„°λž€? Generator μ œλ„ˆλ ˆμ΄ν„° μ œλ„ˆλ ˆμ΄ν„°λŠ” κ°„λ‹¨ν•œ ν”„λ‘œκ·Έλž¨λ³΄λ‹€ μ‹œκ°μ  이미지 뢄석 인곡 신경망인 CNN(convolution nural network) λͺ¨λΈμ˜ μ„±λŠ₯을 높이기 μœ„ν•œ 방법 쀑 ν•˜λ‚˜μΈ 데이터 증식에 많이 쓰인닀. 파이썬 μ œλ„ˆλ ˆμ΄ν„°λŠ” μ‹œν€€μŠ€λ₯Ό μƒμ„±ν•˜λŠ” 객체이닀. 기쑴에 μ‚¬μš©ν•˜λ˜ λ°©μ‹μ²˜λŸΌ 전체 μ‹œν€€μŠ€λ₯Ό ν•œ λ²ˆμ— λ©”λͺ¨λ¦¬μ— μƒμ„±ν•˜κ³  μ •λ ¬ν•  ν•„μš” 없이 , 잠재적으둜 μ•„μ£Ό 큰 μ‹œν€€μŠ€λ₯Ό μ œλ„ˆλ ˆμ΄ν„°λ‘œ μˆœνšŒν•  수 μžˆλ‹€. μ œλ„ˆλ ˆμ΄ν„°λŠ” μš°λ¦¬κ°€ 전에 μ‚¬μš©ν–ˆλ˜ range() ν•¨μˆ˜λ„ μ œλ„ˆλ ˆμ΄ν„°μ˜ μ’…λ₯˜μ€‘ ν•˜λ‚˜μ΄λ‹€. range()쀑 ν•˜λ‚˜λΌκ³  ν•˜λ©΄ 감이 μž‘νžˆλŠ” μ‚¬λžŒμ΄ 있고 μž‘νžˆμ§€ μ•ŠλŠ” μ‚¬λžŒμ΄ μžˆμ„ν…λ° ν•œ 번 같이 λ”°λΌκ°€λ³΄μž. 1μ—μ„œ 100κΉŒμ§€ λ”ν•˜λŠ” 예제 >>> sum(range(1, 101)) 5050 μ œλ„ˆλ¦¬μ—ν„°λ₯Ό μˆœνšŒν•  .. 2019. 12. 7.
Python λ‹€μ–‘ν•œ ν•¨μˆ˜ 기법 : Inner Function, Closure, Lambda λ‚΄μž₯ν•¨μˆ˜, ν΄λ‘œμ €, λžŒλ‹€ κ²½ν—˜ν•˜κΈ°. Inner Function λ‚΄μž₯ ν•¨μˆ˜, λ‚΄λΆ€ ν•¨μˆ˜ λ‚΄λΆ€ ν•¨μˆ˜λΌκ³  λΆˆλ¦¬λŠ” inner function은 ν•¨μˆ˜ μ•ˆμ— ν•¨μˆ˜μ΄λ‹€. def ν•¨μˆ˜λͺ…1(): def ν•¨μˆ˜λͺ…2(): statement μœ„μ™€ 같은 ν˜•μ‹μœΌλ‘œ μ‚¬μš©λ˜λ©° λ³€μˆ˜μ˜ 생쑴 κΈ°ν•œμ— μœ μ˜ν•΄μ•Ό ν•œλ‹€. λ‹€μ‹œ 말해, λ“€μ—¬μ“°κΈ°λ‘œ λ¬Άμ—¬μžˆλŠ” μ†ŒμŠ€λΌλ¦¬ μ„œλ‘œ μžμ›κ³΅μœ κ°€ κ°€λŠ₯ν•œ μ§€μ—­λ³€μˆ˜μ˜ νŠΉμ„±μ„ 말 ν•˜λŠ” 것이닀. def outer(a, b): sum = a + b def inner(sum, d): return sum + d return inner(sum, a) print(outer(1,2)) >>> 4 λ‚΄λΆ€ ν•¨μˆ˜μ˜ μ“°μž„ λ‚΄μž₯ ν•¨μˆ˜λŠ” λ£¨ν”„λ‚˜ μ½”λ“œ 쀑볡을 ν”Όν•˜κΈ° μœ„ν•΄μ„œ λ˜λŠ” λ‹€λ₯Έ ν•¨μˆ˜ 내에 μ–΄λ–€ λ³΅μž‘ν•œ μž‘μ—…μ„ ν•œ 번 이상 μˆ˜ν–‰ν•  λ•Œ μœ μš©ν•˜κ²Œ 쓰인닀. Closure ν΄λ‘œμ € 클둜.. 2019. 12. 7.
Python νŒŒμ΄μ¬μ—μ„œμ˜ ν•¨μˆ˜ λ°”λ‘œ μ „ μ‹œκ°„μ— ν•¨μˆ˜μ— κ΄€ν•œ μ—¬λŸ¬κ°€μ§€ 고찰을 ν•΄λ³΄μ•˜λŠ”λ°, 이젠 ν•¨μˆ˜μ˜ μ“°μž„κ³Ό 파이썬이 μƒκ°ν•˜λŠ” ν•¨μˆ˜μ— λŒ€ν•΄ 이야기 ν•΄λ³΄μž. ν•¨μˆ˜ νŒŒμ΄μ¬μ—μ„œ ν•¨μˆ˜λŠ” 쒋은 취급을 λ°›λŠ”λ‹€(정말 많이 μ“°μ—¬μ§„λ‹€.) νŒŒμ΄μ¬μ€ 크게 3κ°€μ§€λ‘œ μ‚¬μš©λ  수 μžˆλŠ”λ°, λ³€μˆ˜μ— ν•¨μˆ˜λ₯Ό ν• λ‹Ή λ‹€λ₯Έ ν•¨μˆ˜μ—μ„œ 인자둜 μ“°μž„ ν•¨μˆ˜μ—μ„œ ν•¨μˆ˜λ₯Ό λ°˜ν™˜ λ³€μˆ˜μ— ν•¨μˆ˜λ₯Ό ν• λ‹Ή def print_args(): print('hello world') print_func = print_args() print(print_func) 이런 μ‹μœΌλ‘œ print_funcλΌλŠ” λ³€μˆ˜μ— ν•¨μˆ˜λ₯Ό ν• λ‹Ήν•΄μ„œ μ‚¬μš©ν•˜κΈ°λ„ ν•˜λ©° λ‹€λ₯Έ ν•¨μˆ˜μ—μ„œ 인자둜 ν•¨μˆ˜κ°€ μ“°μž„ >>> def say_hello(): ... print('hello') ... >>> def run_func(func): ... fun.. 2019. 12. 7.