๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ/Python

[์ธํ”„๋Ÿฐ ๋ฆฌํ”„ 2๊ธฐ] ์„น์…˜ 6. ํŒŒ์ด์ฌ ํด๋ž˜์Šค ๋ฐ ๋ชจ๋“ˆ, ํŒจํ‚ค์ง€๐Ÿƒ

by - ์˜คํŠธ - 2021. 3. 28.

๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋ฐฐ์šด ์ 

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