๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Study/CODE 3๊ธฐ [Jump to python]

[ ๋น„๋น„๋น… ] Python ์Šคํ„ฐ๋”” #3

by ๋„์†Œ์—ฐ 2024. 3. 21.

๐Ÿ€ํŒ€์›: ๊น€๋ฏผ์„œ, ๋„์†Œ์—ฐ, ๋ฐฐ๋™์ค€, ์ •์ˆ˜์•„, ์ž„ํšจ์‹ 

๐Ÿ€๊ธฐ๊ฐ„: 3/19(ํ™”) ~ 3/25(์›”)    # 3์ฃผ์ฐจ 

๐Ÿ€ํ•™์Šต ๋ฒ”์œ„: p. 149 ~ 180

 

๐Ÿ’•๋ชฉ์ฐจ

1. ํ•จ์ˆ˜(1)
2. ํ•จ์ˆ˜(2)

3. ์‚ฌ์šฉ์ž ์ž…์ถœ๋ ฅ
4. ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐฉ๋ฒ•
5. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…์ถœ๋ ฅ

** ๋ฐฑ์ค€ ๋ฌธ์ œ **

 

1. ํ•จ์ˆ˜(1) (์ž‘์„ฑ์ž : ์ •์ˆ˜์•„)

โ–ถ ํ•จ์ˆ˜๋ž€?

ํ•จ์ˆ˜๋ž€ ์ž…๋ ฅ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์–ด๋–ค ์ผ์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์„ ๋‚ด์–ด ๋†“๋Š” ๊ฒƒ์ด๋‹ค.

ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ถ„์„ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.

 

ํŒŒ์ด์ฌ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋”๋ณด๊ธฐ

def  ํ•จ์ˆ˜_์ด๋ฆ„(๋งค๊ฐœ๋ณ€์ˆ˜):

       ์ˆ˜ํ–‰ํ• _๋ฌธ์žฅ1

       ์ˆ˜ํ–‰ํ• _๋ฌธ์žฅ2

์ด๋•Œ, def๋Š” define์˜ ์•ฝ์ž์ด๋‹ค.

 

๋‹ค์Œ์€ while๋ฌธ์˜ ์˜ˆ์ด๋‹ค.

์œ„ ์˜ˆ์‹œ์—์„œ a,b๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜(parameter), 3,4๋Š” ์ธ์ˆ˜(arguments)์ด๋‹ค.

 

 

โ˜…ํ•จ์ˆ˜์˜ 4๊ฐ€์ง€ ์œ ํ˜•

1. ์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜

- ์ž…๋ ฅ๊ฐ’ ใ…‡ ๋ฆฌํ„ด๊ฐ’ o

- [์‚ฌ์šฉ๋ฒ•] ๋ฆฌํ„ด ๊ฐ’์„ ๋ฐ›์„ ๋ณ€์ˆ˜ + ํ•จ์ˆ˜ ์ด๋ฆ„(์ž…๋ ฅ ์ธ์ˆ˜1, ์ž…๋ ฅ ์ธ์ˆ˜2, ...)

 

2. ์ž…๋ ฅ๊ฐ’์ด ์—†๋Š” ํ•จ์ˆ˜

-  ์ž…๋ ฅ๊ฐ’ x ๋ฆฌํ„ด๊ฐ’ o

- [์‚ฌ์šฉ๋ฒ•] ๋ฆฌํ„ด ๊ฐ’์„ ๋ฐ›์„ ๋ณ€์ˆ˜ = ํ•จ์ˆ˜ ์ด๋ฆ„( )

 

3. ๋ฆฌํ„ด๊ฐ’์ด ์—†๋Š” ํ•จ์ˆ˜

-  ์ž…๋ ฅ๊ฐ’ o ๋ฆฌํ„ด๊ฐ’ x

- [์‚ฌ์šฉ๋ฒ•] ํ•จ์ˆ˜ ์ด๋ฆ„(์ž…๋ ฅ ์ธ์ˆ˜1, ์ž…๋ ฅ ์ธ์ˆ˜2, ...)

 

4. ์ž…๋ ฅ๊ฐ’๋„, ๋ฆฌํ„ด๊ฐ’๋„ ์—†๋Š” ํ•จ์ˆ˜

- ์ž…๋ ฅ๊ฐ’ x ๋ฆฌํ„ด๊ฐ’ x

- [์‚ฌ์šฉ๋ฒ•] ํ•จ์ˆ˜ ์ด๋ฆ„( )

 

โ˜…๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ํ˜ธ์ถœํ•˜๊ธฐ

์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ์–ด์„œ ํ˜ธ์ถœํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ,

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„ ์˜ˆ์‹œ์—์„œ sub ํ•จ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ˆ˜์—์„œ ๋‘ ๋ฒˆ์งธ ์ˆ˜๋ฅผ ๋บ„์…ˆํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. 

๊ทธ๋Ÿฐ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค๋ฉด, ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. 

 

โ˜…์ž…๋ ฅ๊ฐ’์ด ๋ช‡ ๊ฐœ๊ฐ€ ๋ ์ง€ ๋ชจ๋ฅผ ๋•Œ

์ž…๋ ฅ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ ๊ทธ ์ž…๋ ฅ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

์ด๋•Œ ์ž…๋ ฅ๊ฐ’์ด ๋ช‡ ๊ฐœ์ธ์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

 

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›๋Š” ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

๋งค๊ฐœ๋ณ€์ˆ˜ ์•ž์— *๋ฅผ ๋ถ™์ด๋ฉด ์ž…๋ ฅ๊ฐ’์„ ์ „๋ถ€ ๋ชจ์•„ ํŠœํ”Œ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์—

์ž…๋ ฅ๊ฐ’์ด ๋ช‡ ๊ฐœ์ด๋“  ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” args(arguments์˜ ์•ฝ์ž)๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. 

 

ํ‚ค์›Œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜ kwargs

๋งค๊ฐœ๋ณ€์ˆ˜ ์•ž์— *๋ฅผ ๋‘ ๊ฐœ ๋ถ™์ด๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ๋˜๊ณ ,

๋ชจ๋“  Key=Value ํ˜•ํƒœ์˜ ์ž…๋ ฅ๊ฐ’์ด ๊ทธ ๋”•์…”๋„ˆ๋ฆฌ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์—

์ž…๋ ฅ๊ฐ’์ด ๋ช‡ ๊ฐœ์ด๋“  ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” kwargs(keyword arguments์˜ ์•ฝ์ž)๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. 

 

2. ํ•จ์ˆ˜(2) (์ž‘์„ฑ์ž : ๋ฐฐ๋™์ค€)

1. ํ•จ์ˆ˜์˜ ๋ฆฌํ„ด๊ฐ’

๋ฆฌํ„ด๊ฐ’์€ a+b, a*b๋กœ  2๊ฐœ์ธ๋ฐ, ๋ฆฌํ„ด๊ฐ’ ๋ณ€์ˆ˜๋Š” result ํ•˜๋‚˜์ด๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ ๊ฐ™์ง€๋งŒ, ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•จ์ˆ˜์˜ ๋ฆฌํ„ด๊ฐ’์€ ๋ฌด์กฐ๊ฑด 1๊ฐœ๋กœ add_and_mul์˜ ๋ฆฌํ„ด๊ฐ’์€ ํŠœํ”Œ๊ฐ’ ํ•˜๋‚˜์ธ (a+b, a*b)๋กœ ๋ฆฌํ„ด๋œ๋‹ค. ๋งŒ์•ฝ, ์ด ํŠœํ”Œ๊ฐ’์„ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹ถ์œผ๋ฉด result1, result2์ฒ˜๋Ÿผ ๋‚˜๋ˆ ์„œ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ๋‹ค.

ํ•จ์ˆ˜๋Š” ๋ฆฌํ„ด๋ฌธ์„ ๋งŒ๋‚˜๋Š” ์ˆœ๊ฐ„, ๋ฆฌํ„ด๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ ํ›„ ํ•จ์ˆ˜๋ฅผ ๋น ์ ธ๋‚˜๊ฐ€๊ฒŒ ๋œ๋‹ค.

2. return์˜ ๋˜ ๋‹ค๋ฅธ ์“ฐ์ž„์ƒˆ

3. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐ๊ฐ’

์œ„ ํ•จ์ˆ˜์—์„œ man=True์ฒ˜๋Ÿผ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ฏธ๋ฆฌ ๊ฐ’์„ ๋„ฃ์–ด ์ฃผ๋Š” ๊ฒƒ์„ ๋งค๊ฒจ๋ณ€์ˆ˜์— ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ man์— ์ž…๋ ฅ๊ฐ’์„ ์ฃผ์ง€ ์•Š์•„๋„ ์ดˆ๊ธฐ๊ฐ’ True๋ฅผ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ๋ณ€์ˆ˜์— ์ดˆ๊ธฐ๊ฐ’์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ’์„ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์ž.

์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์‹ถ์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ๋’ค์ชฝ์— ๋†“์•„์•ผ ํ•œ๋‹ค

4. ํ•จ์ˆ˜ ์† ๋ณ€์ˆ˜์˜ ํšจ๋ ฅ ๋ฒ”์œ„

ํ•จ์ˆ˜ ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ๋ฐ–์˜ ๋ณ€์ˆ˜ ์ด๋ฆ„๊ณผ๋Š” ์ „ํ˜€ ์ƒ๊ด€์—†๋‹ค

5. ํ•จ์ˆ˜ ์•ˆ์—์„œ ํ•จ์ˆ˜ ๋ฐ– ๋ณ€์ˆ˜ ๋ณ€๊ฒฝํ•˜๊ธฐ

return์„ ์‚ฌ์šฉํ•ด์„œ ๋ณ€๊ฒฝํ•˜๊ธฐ(์ด๋•Œ๋„ ํ•จ์ˆ˜ ์•ˆ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ a๋Š” ํ•จ์ˆ˜ ๋ฐ–์˜ a์™€๋Š” ๋‹ค๋ฅด๋‹ค)
global ๋ช…๋ น์–ด ์‚ฌ์šฉํ•˜๊ธฐ

6. lambda ์˜ˆ์•ฝ์–ด

lambda๋Š” ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์•ฝ์–ด๋กœ, def ์™€ ์—ญํ• ์ด ๊ฐ™๋‹ค.

๋ณดํ†ต ํ•จ์ˆ˜๋ฅผ ํ•œ ์ค„๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

def์™€ lambda๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฐ๊ณผ๋Š” ๊ฐ™๋‹ค

 

 

 

3. ์‚ฌ์šฉ์ž ์ž…์ถœ๋ ฅ (์ž‘์„ฑ์ž: ์ž„ํšจ์‹ )

1. ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ™œ์šฉํ•˜๊ธฐ: ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ์–ด๋–ค ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

โ–ถ input ์‚ฌ์šฉํ•˜๊ธฐ

โ–ถ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋„์›Œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ๋ฐ›๊ธฐ: input("์•ˆ๋‚ด_๋ฌธ๊ตฌ")

input์€ ์ž…๋ ฅ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ number๋Š” ์ˆซ์ž X ๋ฌธ์ž์—ด O

 

2. print ์ž์„ธํžˆ ์•Œ๊ธฐ

โ–ถ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ

์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•ด์™”๋˜ print์˜ ์šฉ๋„

โ–ถ ๋”ฐ์˜ดํ‘œ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ฌธ์ž์—ด์€ + ์—ฐ์‚ฐ๊ณผ ๋™์ผ

์™„๋ฒฝํžˆ ๋™์ผํ•œ ๊ฒฐ๊ด๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.
์‰ผํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด ๋„์–ด ์“ฐ๊ธฐ ๊ฐ€๋Šฅ.

โ–ถ ํ•œ ์ค„์— ๊ฒฐ๊ด๊ฐ’ ์ถœ๋ ฅํ•˜๊ธฐ

๋งค๊ฐœ๋ณ€์ˆ˜ end๋ฅผ ์‚ฌ์šฉํ•ด ๋ ๋ฌธ์ž๋ฅผ ์ง€์ •. end ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ดˆ๊นƒ๊ฐ’์€ ์ค„๋ฐ”๊ฟˆ(\n) ๋ฌธ์ž์ด๋‹ค. (์Šคํ„ฐ๋”” 2์ฃผ์ฐจ for๋ฌธ ์ฐธ๊ณ )

์ฐธ๊ณ ๋กœ end๋ฅผ ์จ์ฃผ์ง€ ์•Š์œผ๋ฉด ์ด๋ ‡๊ฒŒ ๋œ๋‹ค.

 

 

 

4. ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐฉ๋ฒ• (์ž‘์„ฑ์ž: ๊น€๋ฏผ์„œ)

ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ:

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ IDLE ์—๋””ํ„ฐ๋กœ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•ด ๋ณด์ž.

 

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด ํ•˜๋‚˜ ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ด์ฌ ๋‚ด์žฅ ํ•จ์ˆ˜ open์„ ์‚ฌ์šฉํ–ˆ๋‹ค. open ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒŒ์ผ ์ด๋ฆ„๊ณผ ํŒŒ์ผ ์—ด๊ธฐ ๋ชจ๋“œ๋ฅผ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ›๊ณ  ๊ฒฐ๊ด๊ฐ’์œผ๋กœ ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

ํŒŒ์ผ ์—ด๊ธฐ ๋ชจ๋“œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.

ํŒŒ์ผ์„ ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ์—ด๋ฉด ํ•ด๋‹น ํŒŒ์ผ์ด ์ด๋ฏธ ์กด์žฌํ•  ๊ฒฝ์šฐ ์›๋ž˜ ์žˆ๋˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์‚ฌ๋ผ์ง€๊ณ  ํ•ด๋‹น ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค. ์œ„ ์˜ˆ์—์„œ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ํŒŒ์ผ์ด ์—†๋Š” ์ƒํƒœ์—์„œ ์ƒˆํŒŒ์ผ.txt’ ํŒŒ์ผ์„ ์“ฐ๊ธฐ ๋ชจ๋“œ์ธ ’w’๋กœ ์—ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆํŒŒ์ผ.txt’ ๋ผ๋Š” ์ด๋ฆ„์˜ ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ƒ์„ฑ๋˜์—ˆ๋‹ค. ๋งŒ์•ฝ ์ƒˆํŒŒ์ผ.txt’ ํŒŒ์ผ์„ C:/doit ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ƒ์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

์œ„ ์˜ˆ์—์„œ f.close() ๋Š” ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ ๋‹ซ์•„ ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์“ฐ๊ธฐ๋ชจ๋“œ๋กœ ์—ด์—ˆ๋˜ ํŒŒ์ผ์„ ๋‹ซ์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ซ์•„์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

ํŒŒ์ผ์„ ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ์—ด์–ด ๋‚ด์šฉ ์“ฐ๊ธฐ:

 

๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์ง์ ‘ ์จ ๋ณด์ž.

์ด๋Š” ๋ชจ๋‹ˆํ„ฐ ํ™”๋ฉด ๋Œ€์‹  ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

ํŒŒ์ผ์„ ์ฝ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•:

 

1. readline ํ•จ์ˆ˜ ์ด์šฉํ•˜๊ธฐ

์œ„๋Š” ์ƒˆํŒŒ์ผ.txt’ ํŒŒ์ผ์„ ์ฝ๊ธฐ ๋ชจ๋“œ๋กœ ์—ฐ ํ›„ readline() ์„ ์‚ฌ์šฉํ•ด์„œ ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ์ฝ์–ด ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค. ์œ„ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์ƒˆํŒŒ์ผ.txt ํŒŒ์ผ์˜ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ค„์ด ํ™”๋ฉด์— ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

๋งŒ์•ฝ ๋ชจ๋“  ์ค„์„ ์ฝ์–ด ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

(ํ•œ ์ค„์”ฉ ์ฝ์–ด ์ถœ๋ ฅํ•  ๋•Œ ์ค„ ๋์— ๏ผผn ๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋นˆ ์ค„๋„ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.)

2.readlines ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

readlines ํ•จ์ˆ˜๋Š” ํŒŒ์ผ์˜ ๋ชจ๋“  ์ค„์„ ์ฝ์–ด์„œ ๊ฐ๊ฐ์˜ ์ค„์„ ์š”์†Œ๋กœ ๊ฐ€์ง€๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ์˜ˆ์—์„œ lines ๋Š” ๋ฆฌ์ŠคํŠธ ["1๋ฒˆ์งธ ์ค„์ž…๋‹ˆ๋‹ค.๏ผผn", "2๋ฒˆ์งธ ์ค„์ž…๋‹ˆ๋‹ค.๏ผผn", ..., "10๋ฒˆ์งธ ์ค„์ž…๋‹ˆ๋‹ค.๏ผผn"]๊ฐ€ ๋œ๋‹ค. f.readlines()๋Š” f.readline()์™€ ๋‹ฌ๋ฆฌ s ๊ฐ€ ํ•˜๋‚˜ ๋” ๋ถ™์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์— ์œ ์˜ํ•˜์ž.

3.read ํ•จ์ˆ˜ ์ด์šฉํ•˜๊ธฐ

f.read()๋Š” ํŒŒ์ผ์˜ ๋‚ด์šฉ ์ „์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฆฌํ„ดํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ์˜ˆ์˜ data๋Š” ํŒŒ์ผ์˜ ์ „์ฒด ๋‚ด์šฉ์ด๋‹ค.

 

4.ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ for๋ฌธ๊ณผ ํ•จ๊ป˜ ์š”์•ฝํ•˜๊ธฐ

ํŒŒ์ผ ๊ฐ์ฒด(f) ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์œ„์™€ ๊ฐ™์ด for ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์ค„ ๋‹จ์œ„๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

ํŒŒ์ผ์— ์ƒˆ๋กœ์šด ๋‚ด์šฉ ์ถ”๊ฐ€ํ•˜๊ธฐ:

์“ฐ๊ธฐ ๋ชจ๋“œ (‘w’) ๋กœ ํŒŒ์ผ์„ ์—ด ๋•Œ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์„ ์—ด๋ฉด ๊ทธ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์‚ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์›๋ž˜ ์žˆ๋˜ ๊ฐ’์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋‹จ์ง€ ์ƒˆ๋กœ์šด ๊ฐ’๋งŒ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ํŒŒ์ผ์„ ์ถ”๊ฐ€ ๋ชจ๋“œ(‘a’) ๋กœ ์—ด๋ฉด ๋œ๋‹ค. IDLE ์—๋””ํ„ฐ๋กœ ๋‹ค์Œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž.

์œ„๋Š” ์ƒˆํŒŒ์ผ.txt ํŒŒ์ผ์„ ์ถ”๊ฐ€ ๋ชจ๋“œ (‘a’) ๋กœ ์—ด๊ณ  write ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฒฐ๊ด๊ฐ’์„ ๊ธฐ์กด ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ด ์ ๋Š” ์˜ˆ์ด๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ถ”๊ฐ€ ๋ชจ๋“œ๋กœ ํŒŒ์ผ์„ ์—ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆํŒŒ์ผ.txt ํŒŒ์ผ์ด ์›๋ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋‚ด์šฉ ๋ฐ”๋กœ ๋‹ค์Œ๋ถ€ํ„ฐ ๊ฒฐ๊ด๊ฐ’์„ ์ ๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

with๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ:

ํŒŒ์ผ์„ ์—ด๋ฉด (open) ํ•ญ์ƒ ๋‹ซ์•„ (close) ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํŒŒ์ผ์„ ์—ด๊ณ  ๋‹ซ๋Š” ๊ฒƒ์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ํŽธ๋ฆฌํ•˜์ง€ ์•Š์„๊นŒ? ํŒŒ์ด์ฌ์˜ with ๋ฌธ์ด ๋ฐ”๋กœ ์ด๋Ÿฐ ์—ญํ• ์„ ํ•ด ์ค€๋‹ค. ๋‹ค์Œ ์˜ˆ๋Š” with ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์œ„์˜ˆ์ œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•œ ๋ชจ์Šต์ด๋‹ค.

์œ„์™€ ๊ฐ™์ด with ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด with ๋ธ”๋ก (with ๋ฌธ์— ์†ํ•ด ์žˆ๋Š” ๋ฌธ์žฅ) ์„ ๋ฒ—์–ด๋‚˜๋Š” ์ˆœ๊ฐ„, ์—ด๋ฆฐ ํŒŒ์ผ ๊ฐ์ฒด f๊ฐ€ ์ž๋™์œผ๋กœ ๋‹ซํžŒ๋‹ค.

 

 

5. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…์ถœ๋ ฅ (์ž‘์„ฑ์ž: ๋„์†Œ์—ฐ)

sys ๋ชจ๋“ˆ ์‚ฌ์šฉํ•˜๊ธฐ

sys ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด import sys์ฒ˜๋Ÿผ import ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. 

import sys

args = sys.argv[1:]
for i in args:
	print(i)

*ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ์ „๋‹ฌ๋ฐ›์€ ์ธ์ˆ˜๋ฅผ for ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ฐจ๋ก€๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ

sys ๋ชจ๋“ˆ์˜ argv๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ์ „๋‹ฌ๋œ ์ธ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 

์ฆ‰, argv[0]์€ ํŒŒ์ผ ์ด๋ฆ„ sys1.py๊ฐ€ ๋˜๊ณ  argv[1] ๋ถ€ํ„ฐ๋Š” ๋’ค์— ๋”ฐ๋ผ์˜ค๋Š” ์ธ์ˆ˜๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ argv์˜ ์š”์†Œ๊ฐ€ ๋œ๋‹ค.  

 

sys1.py   aaa   bbb   ccc

 argv[0]     argv[1] argv[2] argv[3]

 

 

3์ฃผ์ฐจํ€ด์ฆˆ_๋น„๋น„๋น….ipynb
0.01MB