개발/Python

[μΈν”„λŸ° 리프 2κΈ°] μ„Ήμ…˜ 6. 파이썬 클래슀 및 λͺ¨λ“ˆ, νŒ¨ν‚€μ§€πŸƒ

- 였트 - 2021. 3. 28. 14:54

κ°•μ˜λ₯Ό 톡해 배운 점

Class

ν΄λž˜μŠ€λŠ” λΆ•μ–΄λΉ΅ 틀이고 μΈμŠ€ν„΄μŠ€ κ·Έ 틀을 가지고 μ°μ–΄λ‚΄λŠ” 객체이닀(μΈμŠ€ν„΄μŠ€λŠ” 객체에 포함)

μ΄ˆκΈ°ν™” ν•¨μˆ˜ : __init__(self, name, age)

- selfλ₯Ό 첫 번째 λ§€κ°œλ³€μˆ˜λ‘œ 가진닀

μΈμŠ€ν„΄μŠ€ν™” : 섀계도(클래슀)λ₯Ό λ°”νƒ•μœΌλ‘œ κ΅¬ν˜„ν•œ 것

a = Cat("mikky" , 2)

c = Cat("mikky", 2)

라고 μΈμŠ€ν„΄μŠ€ν™”ν•œ λ’€ id(a)와 id(c)λ₯Ό λΉ„κ΅ν•˜λ©΄ νŒŒμ΄μ¬μ—μ„œλŠ” μ „ν˜€ λ‹€λ₯Έ 객체둜 κ°„μ£Όν•˜κ³  있음

클래슀 λ³€μˆ˜ : 직접 μ ‘κ·Ό κ°€λŠ₯ν•˜κ³  곡유 / μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ : κ°μ²΄λ§ˆλ‹€ 별도 쑴재(μžμ‹ λ§Œμ˜ 곡간이 있음)

self

- self둜 μ •μ˜λœ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” 클래슀 μ „μ²΄μ—μ„œ 유효 -> λͺ¨λ“  λ©”μ†Œλ“œμ—μ„œ μ ‘κ·Ό κ°€λŠ₯

- selfκ°€ μ—†λŠ” λ³€μˆ˜λŠ” λ©”μ†Œλ“œ λ‚΄μ—μ„œλ§Œ μœ νš¨ν•œ μ§€μ—­λ³€μˆ˜

 

Module

λͺ¨λ“ˆμ΄λž€ ν•¨μˆ˜, λ³€μˆ˜, 클래슀 λ“± 파이썬 ꡬ성 μš”μ†Œ 등을 λͺ¨μ•„놓은 νŒŒμΌμ΄λ‹€

ν•˜λ‚˜μ˜ νŒŒμΌμ— ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜κ³  λ‹€λ₯Έ νŒŒμΌμ—μ„œ ν•¨μˆ˜κ°€ ν•„μš”ν•  λ•Œ import λ₯Ό μ΄μš©ν•΄ κ°€μ Έμ˜¨λ‹€

import sys # 파이썬 μ„€μΉ˜ν•  λ•Œ μ–΄λ””μ—”κ°€ μ„€μΉ˜λ˜μ–΄ 있음
import time 

print(sys)
print(sys.path) # μ„€μΉ˜λœ 경둜 확인 κ°€λŠ₯

 

Package

νŒ¨ν‚€μ§€(폴더와 λΉ„μŠ·) μž‘μ„± 및 μ‚¬μš©λ²•

νŒŒμ΄μ¬μ€ νŒ¨ν‚€μ§€λ‘œ λΆ„ν•  된 κ°œλ³„μ μΈ λͺ¨λ“ˆλ‘œ ꡬ성 / μƒλŒ€κ²½λ‘œ : ..(λΆ€λͺ¨ 디렉토리), .(ν˜„μž¬ 디렉토리) -> λͺ¨λ“ˆ λ‚΄λΆ€μ—μ„œλ§Œ μ‚¬μš©

import sub.sub1.module1 # 같은 κ²½λ‘œμ— μžˆμ„ λ•Œ / λ‹€λ₯Έ κ²½λ‘œμ— μžˆμ„ λ•ŒλŠ” append() μ‚¬μš©
import sub.sub2.module2
sub.sub1.module1.mod1_test1() # μ‚¬μš©
sub.sub1.module1.mod1_test2()
sub.sub2.module2.mod2_test1()
sub.sub2.module2.mod2_test2()
from sub.sub1 import module1 # alias λ₯Ό μ΄μš©ν•΄ 더 κ°„λ‹¨ν•˜κ²Œ μ½”λ“œ μž‘μ„± κ°€λŠ₯, module1 파일 μ΄λ¦„μœΌλ‘œ μ ‘κ·Όν•˜λŠ” 것이 μ’‹μŒ
from sub.sub2 import module2 as m2
module1.mod1_test1()
module1.mod1_test2()
m2.mod2_test1()
m2.mod2_test2()

from sub.sub1 import * # 이 방법은 λͺ¨λ“ˆμ˜ 일뢀뢄이 μ•„λ‹Œ μ „λΆ€ μ‚¬μš© -> ν•„μš”λ‘œν•˜λŠ” κ²ƒλ§Œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€

from sub.sub2 import * 


ν•™μŠ΅ν•˜λ©° λŠλ‚€ 점

νŒŒμ΄μ¬μ€ λ‹€λ₯Έ C++, JAVA와 같은 μ–Έμ–΄μ²˜λŸΌ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° 언어이닀

객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ˜ 꽃은 클래슀 및 λͺ¨λ“ˆ, νŒ¨ν‚€μ§€λΌλŠ” 말은 μžλ°” μˆ˜μ—…λ•Œ 듀은 적이 μžˆμ—ˆλ˜ 것 같은데(ν™•μ‹€ν•˜μ§€λŠ” μ•Šλ‹€)

이번 μ„Ήμ…˜ 6μ—μ„œλŠ” 파이썬의 클래슀/λͺ¨λ“ˆ/νŒ¨ν‚€μ§€μ— λŒ€ν•΄ 배우게 λ˜μ—ˆλ‹€. νŒŒμ΄μ¬μ„ 겉ν•₯기둜 λ°°μ›Œ νŒŒμ΄μ¬μ€ κ½€ μ‰½κ΅¬λ‚˜ ν–ˆλŠ”λ° 이번 κ°•μ˜λ₯Ό 톡해 ν•˜λ‚˜ν•˜λ‚˜ λ‹€μ‹œ λ°°μ›Œκ°€λ©΄μ„œ 만만히 λ³Ό μ–Έμ–΄κ°€ μ•„λ‹ˆλΌλŠ” 것을 점차 κΉ¨λ‹«κ³  μžˆλ‹€

이제 μ„Ήμ…˜ 7~10만 남겨둔 상황이기 λ•Œλ¬Έμ— κ·Έλž˜λ„ 남은 ν™œλ™ κΈ°κ°„λ™μ•ˆ μ—΄μ‹¬νžˆ 곡뢀할 κ²ƒμ΄λ‹€πŸ˜Š


μΈν”„λŸ° ν™ˆνŽ˜μ΄μ§€ : www.inflearn.com/

 

μΈν”„λŸ° - ν”„λ‘œκ°€ λ˜λŠ” 온라인 클래슀 | 온라인 κ°•μ˜ ν”Œλž«νΌ

ν”„λ‘œκ·Έλž˜λ°, 인곡지λŠ₯, 데이터, λ§ˆμΌ€νŒ…, λ””μžμΈ, μ—‘μ…€ 싀무 λ“± μž…λ¬ΈλΆ€ν„° μ‹€μ „κΉŒμ§€ 업계 졜고 μ„ λ°°λ“€μ—κ²Œ 배울 수 μžˆλŠ” κ³³. μš°λ¦¬λŠ” μ„±μž₯ 기회의 평등을 μΆ”κ΅¬ν•©λ‹ˆλ‹€.

www.inflearn.com

좜처 : <μΈν”„λŸ°-ν”„λ‘œκ·Έλž˜λ° μ‹œμž‘ν•˜κΈ° : 파이썬 μž…λ¬Έ (Inflearn Original)>/inf.run/GawB

 

ν”„λ‘œκ·Έλž˜λ° μ‹œμž‘ν•˜κΈ° : 파이썬 μž…λ¬Έ (Inflearn Original) - μΈν”„λŸ° | κ°•μ˜

이미 8000λͺ… 이상이 ν•™μŠ΅ν•˜κ³  λ§Œμ‘±ν•œ 졜고의 ν”„λ‘œκ·Έλž˜λ° μž…λ¬Έ κ°•μ˜. μΈν”„λŸ°μ΄ λΉ„μ „κ³΅μž μœ„μΉ˜μ—μ„œ 직접 κΈ°νšν•˜κ³  μ€€λΉ„ν•œ ν”„λ‘œκ·Έλž˜λ° μž…λ¬Έ κ°•μ˜λ‘œ, ν”„λ‘œκ·Έλž˜λ°μ„ μ „ν˜€ 접해보지 λͺ»ν•œ μ‚¬λžŒλΆ€ν„° μ‹€

www.inflearn.com

ν•΄λ‹Ή κΈ€ μ•„μ΄μ½˜ 좜처 : 'flaticon.com'

This cover has been designed using resources from Flaticon.com