λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸŽ› Others.../- Python24

[Python κ³ κΈ‰] 객체와 클래슀 (5) μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ vs 정적 λ©”μ„œλ“œ vs 클래슀 λ©”μ„œλ“œ (Instance Method, Static Method, Class Method) νŒŒμ΄μ¬μ—λŠ” λ‹€λ₯Έ 언어와 λ§ˆμ°¬κ°€μ§€λ‘œ λ©”μ„œλ“œλΌλŠ” μ˜μ—­μ΄ μ‘΄μž¬ν•œλ‹€. 이제 κ·Έ λ©”μ„œλ“œμ˜ λΆ„λ₯˜μ™€ μ‚¬μš©λ²•μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž. Instance Method Static Method Class Method Instance Method μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλŠ” 각 κ°μ²΄μ—μ„œ κ°œλ³„μ μœΌλ‘œ λ™μž‘ν•˜λŠ” ν•¨μˆ˜λ₯Ό λ§Œλ“€κ³  싢을 λ•Œ μ‚¬μš©ν•œλ‹€. 예둜 μžλ™μ°¨λΌλŠ” ν΄λž˜μŠ€κ°€ μžˆμ„λ•Œ κΈ°λ³Έ ꡬ동 λ©”μ»€λ‹ˆμ¦˜μ€ λͺ¨λ‘ λ™μΌν•˜μ§€λ§Œ 속도, 이름, 색은 λͺ¨λ‘ κ³ μœ ν•œ λ™μž‘κ³Ό μƒνƒœκ°€ μžˆλ‹€. 이런 κ²½μš°μ— κ³ μœ ν•œ λ™μž‘κ³Ό μƒνƒœλ₯Ό Instance Methodλ₯Ό μ‚¬μš©ν•˜μ—¬ μ •μ˜ν•œλ‹€. self μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œμ—μ„œ 첫 μΈμžλŠ” 무쑰건 self ν‚€μ›Œλ“œκ°€ ν•„μš”ν•œλ°, 이 λœ»μ€ 클래슀의 μΈμŠ€ν„΄μŠ€(객채)λ₯Ό λœ»ν•˜λ―€λ‘œ selfλ₯Ό ν†΅ν•΄μ„œ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ₯Ό λ§Œλ“€κ³  μ‚¬μš©ν•œλ‹€. μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œμ˜ ꡬ쑰 cla.. 2020. 5. 10.
[Python κ³ κΈ‰] 파이썬 Module-λͺ¨λ“ˆμ— λŒ€ν•΄μ„œ(2) μ§€λ‚œ κ²Œμ‹œλ¬Ό 파이썬 λͺ¨λ“ˆμ— λŒ€ν•΄μ„œ(1)μ—μ„œ λͺ¨λ“ˆμ— λŒ€ν•œ 기본적 μ •μ˜μ™€ μ‚¬μš©λ²•μ„ λ°°μ› κ³  이제 μ €λ²ˆμ— 말 ν•˜λ‹€ λ§μ•˜λ˜ 이야기 λͺ¨λ“ˆμ„ μ‚¬μš©ν•˜λŠ” python νŒŒμΌμ—μ„œ ν•΄λ‹Ή import λͺ¨λ“ˆμ— λ‚΄μš©μ„ μ‹€ν–‰ν•œλ‹€λŠ” λ¬Έμ œμ μ„ ν•΄κ²°ν•΄λ³΄μž. 방법 1. __main__ 쑰건으둜 νšŒν”Όν•˜κΈ° ν˜„μž¬ 문제 상황이 λͺ¨λ“ˆμ˜ λ‚΄μš©μ΄ μ‹€ν–‰λœλ‹€λŠ” κ²ƒμ΄λ―€λ‘œ λͺ¨λ“ˆμ˜ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ§€ μ•ŠλŠ” 방법이 μ—¬λŸ¬κ°€μ§€κ°€ μžˆμ§€λ§Œ κ°„λ‹¨ν•œ 쑰건으둜 ν•΄κ²°ν•  수 μžˆλ‹€. 이 μ½”λ“œμ—μ„œ `if` 쑰건문이면 ν•΄κ²°λœλ‹€. if __name__ == "__main__" 쑰건은 λ§Œμ•½ μ‹€ν–‰ν•˜λŠ” μ˜μ—­μ΄ main μ˜μ—­μΌ κ²½μš°μ—λ§Œ 싀행을 ν•˜λΌλŠ” μ˜λ―Έμ΄λ‹€. κ·Έλž¬μ„ 경우 이와 같이 싀행이 λͺ¨λ“ˆμ˜ μ½”λ“œμ—μ„œ ν•„μš”ν•˜μ§€ μ•Šμ€ λΆ€λΆ„(printν•¨μˆ˜)을 μ‹€ν–‰ν•˜μ‹œ μ•ŠλŠ”λ‹€. 방법 2. from ν‚€μ›Œλ“œ μ‚¬μš©ν•˜κΈ°.. 2020. 5. 7.
[Python κ³ κΈ‰] 파이썬 Module-λͺ¨λ“ˆμ— λŒ€ν•΄μ„œ(1) 파이썬의 λͺ¨λ“ˆ(Module)에 λŒ€ν•΄μ„œ μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ” λͺ¨λ“ˆμ΄ μ–΄λ–€ 의미둜 μ“°μ΄λŠ”μ§€ λ¨Όμ € 확인해야 ν•œλ‹€. λͺ¨λ“ˆμ˜ μ •μ˜λŠ” ν”„λ‘œκ·Έλž˜λ°μ  λͺ¨λ“ˆκ³Ό 건좕학적 의미, μ΄λ ‡κ²Œ 두 κ°œλ…μœΌλ‘œ μ •μ˜λ₯Ό ν•΄ λ†“μ•˜λŠ”λ° λ³Έμ§ˆμ€ 같은 λœ»μ΄λ‹€. μ΄λ ‡κ²Œλ§Œ λ“€μœΌλ©΄ 직관적 이해가 μ–΄λ ΅κΈ° λ•Œλ¬Έμ— λΉ„μœ λ₯Ό 해보겠닀. 우린 블둝 쑰각으둜 μ™„μ„±λœ 블둝 집을 λ§Œλ“€μˆ˜ μžˆλ‹€. μ—¬κΈ°μ„œ 블둝 쑰각에 ν•΄λ‹Ήν•˜λŠ” 것이 λ°”λ‘œ λͺ¨λ“ˆμ΄λ‹€. μš°λ¦¬κ°€ 배우게될 λͺ¨λ“ˆλ‘œ μš°λ¦¬λŠ” μ™„μ„±λœ ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ 수 μžˆλ‹€. μ—¬λŸ¬κ°€μ§€ 블둝, 즉 λͺ¨λ“ˆμ„ λͺ¨μ•„ λ‚΄κ°€ μ›ν•˜λŠ” κΈ°λŠ₯의 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κΈ° μœ„ν•΄μ„œ λͺ¨λ“ˆμ— λŒ€ν•œ 이해가 μ •ν™•νžˆ ν•„μš”ν•˜λ‹€. 이제 파이썬으둜 λ„˜μ–΄κ°€μ„œ μƒκ°ν•΄λ³΄μž. νŒŒμ΄μ¬μ—μ„œμ˜ λͺ¨λ“ˆ νŒŒμ΄μ¬μ—μ„œ λͺ¨λ“ˆμ€ μ½”λ“œκ°€ μ €μž₯된 파일으둜 μ •μ˜λ˜λŠ”λ°, μ½”λ“œκ°€ μ €μž₯λ˜μ–΄μžˆλŠ” νŒŒμΌμ΄λΌλŠ” 것이 .. 2020. 5. 7.
[Python κ³ κΈ‰]: 객체와 클래슀(4) 클래슀 λ³€μˆ˜ vs μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ μ§€λ‚œ μ‹œκ°„μ— 정보 은닉에 λŒ€ν•΄μ„œ ν•™μŠ΅ν•˜μ˜€μ„ λ‹Ήμ‹œ 예제둜 λ‚˜νƒ€λƒˆλ˜ μ½”λ“œμ— λŒ€ν•œ 심측적 μ„€λͺ…을 ν•  것이닀. 그러기 μœ„ν•΄μ„œ μš°λ¦¬λŠ” 클래슀 λ³€μˆ˜μ™€ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ— λŒ€ν•΄μ„œ 이해λ₯Ό ν•΄μ•Όν•˜λŠ”λ°, κ°€μž₯ μ€‘μš”ν•œ 핡심을 λ¨Όμ € μ΄μ•ΌκΈ°ν•˜μžλ©΄. λ³€μˆ˜κ°€ 클래슀 내뢀에 μžˆμ§€λ§Œ ν•¨μˆ˜ 밖에 μžˆλƒ, ν˜Ήμ€ μ•ˆμ— μžˆλƒμ˜ 차이닀. 이제 클래슀 λ³€μˆ˜μ™€ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž. 클래슀 λ³€μˆ˜ Class variable 클래슀 λ³€μˆ˜λŠ” 클래슀 내에 μžˆμ§€λ§Œ ν•¨μˆ˜ λ°–μ—μ„œ λ³€μˆ˜λͺ… = 데이터 ν˜•μ‹μœΌλ‘œ μ •μ˜ν•œ λ³€μˆ˜μ΄λ‹€. class Car(): car_id = 0 # 클래슀 λ³€μˆ˜ def __init__(self, size, color): self.size = size self.color = color μ΄λΌλŠ” μ½”λ“œκ°€ μžˆμ„ λ•Œ μœ„μ—μ„œ μ„€λͺ…ν•œ 클래슀 λ³€μˆ˜μ˜.. 2019. 12. 8.