๐Ÿ› ๏ธBackend/โšกPython

[Python] 7๊ฐ• - ๋ฐ˜๋ณต ๊ตฌ์กฐ

junbin2 2025. 4. 17. 13:04

1. ๋ฐ˜๋ณต ๊ตฌ์กฐ์˜ ์ •์˜

2. ๋ฆฌ์ŠคํŠธ

3. ๋ฐ˜๋ณต ๊ตฌ์กฐ์˜ ํ™•์žฅ

 

1. ๋ฐ˜๋ณต ๊ตฌ์กฐ์˜ ์ •์˜

(1) ๋ฐ˜๋ณต ๊ตฌ์กฐ์˜ ๊ฐœ๋…

 - ํŠน์ • ์˜์—ญ์˜ ๋ช…๋ น๋ฌธ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 - ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฒฐ์ •

 - loop, iterate, repeat ์šฉ์–ด๊ฐ€ ํ˜ผ์šฉ ( ๋‹ค ๋˜‘๊ฐ™์Œ )

 

(2) ๋ฐ˜๋ณต ๊ตฌ์กฐ์˜ ๊ตฌ๋ฌธํ˜•์‹

[1] while ๋ฌธ

 - ๊ตฌ๋ฌธํ˜•์‹ : ์กฐ๊ฑด ์ œ์–ด ๋ฐ˜๋ณต

 - ๋ฐ˜๋ณต ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๊ณ„์†ํ•  ๋•Œ ์ฆ‰, ํšŸ์ˆ˜๋Š” ๋ชจ๋ฅด๊ณ  ๊ฑฐ๊ธฐ๊นŒ์ง€๋งŒ ๋Œ๋ฆด๋•Œ ์‚ฌ์šฉ

 - ๋ฐ˜๋ณต ์กฐ๊ฑด์ด True์ผ ๋™์•ˆ ๋ฐ˜๋ณต, False๊ฐ€ ๋  ๊ฒฝ์šฐ ์ข…๋ฃŒ

i = 0
while i < 5:
    print(i)
    i += 1

[2] for ๋ฌธ

 - ๊ตฌ๋ฌธํ˜•์‹ : ๊ณ„์ˆ˜ ์ œ์–ด ๋ฐ˜๋ณต

 - ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์„ ๋•Œ ์‚ฌ์šฉ

 - ์ •ํ•ด์ง„ ์‹œํ€€์Šค ๋งŒํผ ๋ฐ˜๋ณต์„ ๋Œ๋ฆฌ๋ฉด ์ข…๋ฃŒ

for i in range(5): # ์ฝ”๋“œ๋ธ”๋Ÿญ 5๋ฒˆ ๋ฐ˜๋ณต
    print(i)

 


2. ๋ฆฌ์ŠคํŠธ

(1) ๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ๋…

 - ์ˆœ์„œํ™”๋œ ๊ฐ’์˜ ์ง‘ํ•ฉ์ฒด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์˜๋ฏธํ•œ๋‹ค. ( ๋ฐฐ์—ด์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. )

 - ๋‹จ์ผ ์‹๋ณ„์ž๋กœ ์—ฐ์†๋œ ์ €์žฅ ๊ณต๊ฐ„ ์ ‘๊ทผ ์ˆ˜๋‹จ ์ œ๊ณต

 - ๊ฐœ๋ณ„ ์›์†Œ์˜ ๊ฐ’์„ ์ˆ˜์ •, ์ถ”๊ฐ€, ์‚ญ์ œ ๊ฐ€๋Šฅ

 - ์›์†Œ(element)์˜ ๋‚˜์—ด์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์‹œํ€€์Šค ํƒ€์ž… ์ค‘ ํ•˜๋‚˜

 - ๊ฐ’๋“ค์„ ๋‹ด์•„๋†“์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐํƒ€์ž…์€ ๋ฆฌ์ŠคํŠธ, ์„ธํŠธ, ํˆฌํ”Œ, ๋”•์…”๋„ˆ๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌํ•จ.

 

(2) ๋ฆฌ์ŠคํŠธ์˜ ๊ตฌ์„ฑ

 - ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ํ‘œํ˜„

 

(3) ๋ฆฌ์ŠคํŠธ์˜ ์ƒ์„ฑ

 - ๊ตฌ๋ฌธํ˜•์‹ list([ ์›์†Œ ์‹œํ€€์Šค])

 - list ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ ์ธ์ž๊ฐ’์œผ๋กœ [] ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๋‚ด๋ถ€์— ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr2 = list([1, 2, 3, 4, 5])
for i in arr:
  print(i, end=" ")
print() # ๊ตฌ๋ถ„์„ 
for i in arr2:
  print(i, end=" ")

 - ํŒŒ์ด์ฌ์—์„œ ๋ฆฌ์ŠคํŠธ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ( ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค. )

[1] ๋ฆฌ์ŠคํŠธ ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹

arr = [1, 2, 3, 4, 5, 6, 7, 8]
print(type(arr))  # <class 'list'>

 - ๋ฆฌ์ŠคํŠธ ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹์€ ๊ฐ’์„ ๋ฐ”๋กœ ๋‚˜์—ดํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ž„.

 - ๋งค์šฐ ์ง๊ด€์ ์ด๊ณ  ์ž์ฃผ ์‚ฌ์šฉ ๋จ.

 - ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด list 

[2] ๋ฆฌ์ŠคํŠธ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹

arr = list([1, 2, 3, 4, 5])
print(type(arr))  # <class 'list'>

 - ๋ฆฌ์ŠคํŠธ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์€ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•จ์ˆ˜์— ๋„ฃ์–ด ๋˜ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ๋กœ ๊ฐ์‹ธ๋Š” ๋ฐฉ์‹์ž„.

 - ๋ณดํ†ต ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ ํ˜•ํƒœ์˜ ํŠœํ”Œ ์ด๋Ÿฐ๊ฒƒ๋“ค์„ list๋กœ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ์ด ๋จ.

[3] ์ •๋ฆฌ

 - ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹ ๋‹ค ๊ฒฐ๋ก ์€ ํƒ€์ž…์ด list๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์žˆ์Œ. ๊ฒฐ๊ตญ list ํƒ€์ž…์ด๋ผ๋Š” ๊ฑฐ์ž„.

 - ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ๋• ๋ฆฌ์ŠคํŠธ ํ•จ์ˆ˜, ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ๋• ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹์ด ์œ ๋ฆฌํ•จ.

 

(4) ์ธ๋ฑ์Šค ์—ฐ์‚ฐ์ž

 - ์‹œํ€€์Šค ํƒ€์ž…์˜ ์›์†Œ์— ์ ‘๊ทผํ•˜๋Š” ์—ฐ์‚ฐ์ž

 - ์›์†Œ์— ๋ถ€์—ฌ๋œ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋กœ ์ง€์นญ

 - ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘์„ ํ•˜๋Š”๊ฒŒ ํŠน์ง•์ด๋‹ค.

 - [ ] ๋Œ€๊ด„ํ˜ธ ์•ˆ์— ์ธ๋ฑ์Šค 0~n๊นŒ์ง€์˜ ๊ฐ’์„ ๋„ฃ์–ด ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

arr = [1, 2, 3, 4, 5, 6, 7, 8]
print(arr[0]) # arr์˜ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์ธ 1์ถœ๋ ฅ

 

(5) ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ ์ž๋™ํ™”

 - ๋ฆฌ์ŠคํŠธ ๋‚ด ์›์†Œ์— ๊ทœ์น™์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒ์„ฑ ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 - range(a, b, k) : a๋ถ€ํ„ฐ b๋ณด๋‹ค ์ž‘์€ ๊ฐ’๊นŒ์ง€ k์”ฉ ์ฆ๊ฐ€์‹œ์ผœ ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

 - ์ฐธ๊ณ ๋กœ k์˜ ๊ฐ’์€ ๋””ํดํŠธ๊ฐ€ "1" ๋กœ 1์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.

for i in range(0, 10, 1):
  print(i) # ๊ฒฐ๊ณผ 0 ~ 9 ๊นŒ์ง€์˜ ์ˆซ์ž ์ถœ๋ ฅ

 


3. ๋ฐ˜๋ณต ๊ตฌ์กฐ์˜ ํ™•์žฅ

(1) ์ค‘์ฒฉ ๋ฐ˜๋ณต ๊ตฌ์กฐ

 - ๋ฐ˜๋ณต ๊ตฌ์กฐ ๋‚ด ๋‹ค๋ฅธ ๋ฐ˜๋ณต๊ตฌ์กฐ๋ฅผ ๋‚ดํฌํ•œ ํ˜•์‹

# ๊ตฌ๊ตฌ๋‹จ 2๋‹จ๋ถ€ํ„ฐ 4๋‹จ๊นŒ์ง€ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์‹œ
for dan in range(2, 5):  # 2, 3, 4๋‹จ
    for i in range(1, 10):  # ๊ฐ ๋‹จ์˜ 1~9๊นŒ์ง€
        print(f"{dan} x {i} = {dan * i}")
    print()  # ๊ฐ ๋‹จ ๋๋‚˜๊ณ  ์ค„๋ฐ”๊ฟˆ

 

(2) format ํ•จ์ˆ˜

 - ๋ฐ์ดํ„ฐ๋ฅผ ์–‘์‹์— ๋งž์ถฐ ํ˜•์‹ํ™” ex) format("๊ตฌ๊ตฌ๋‹จํ‘œ", ">10s")

 - ํ˜•์‹ ์ง€์ •์ž : > - ์ •๋ ฌ๋ฐฉํ–ฅ(์˜ค๋ฅธ์ชฝ) , 10(ํ•„๋“œ ํญ), s(๋ฐ์ดํ„ฐ ํƒ€์ž… : s๋Š” ๋ฌธ์ž์—ด, d๋Š” ์ •์ˆ˜)

[1] format ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ

 

4. ์ •๋ฆฌ

  1. ์กฐ๊ฑด ์ œ์–ด ๋ฐ˜๋ณต: ์ฐธ๊ณผ ๊ฑฐ์ง“ ์กฐ๊ฑด์— ์˜ํ•ด ๋ฐ˜๋ณต ์—ฌ๋ถ€๊ฐ€ ๊ฒฐ์ •๋˜๋Š” ๋ฐ˜๋ณต ๊ตฌ์กฐ
  2. ๊ณ„์ˆ˜ ์ œ์–ด ๋ฐ˜๋ณต: ํŠน์ • ๊ณ„์ˆ˜๋งŒํผ ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ์ •ํ•ด์ง„ ๋ฐ˜๋ณต ๊ตฌ์กฐ
  3. ์ธ๋ฑ์Šค ์—ฐ์‚ฐ์ž: ์‹œํ€€์Šค ํƒ€์ž…์˜ ์›์†Œ์— ์ ‘๊ทผํ•˜๋Š” ์—ฐ์‚ฐ์ž
  4. ์ค‘์ฒฉ ๋ฐ˜๋ณต ๊ตฌ์กฐ: ๋ฐ˜๋ณต ๊ตฌ์กฐ ๋‚ด ๋‹ค๋ฅธ ๋ฐ˜๋ณต ๊ตฌ์กฐ๋ฅผ ๋‚ดํฌํ•œ ํ˜•์‹
  1. ๋ฐ˜๋ณต ๊ตฌ์กฐ๋ž€ ๋™์ผํ•œ ๋ช…๋ น๋ฌธ์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ํšŸ์ˆ˜๋งŒํผ ๋˜๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.
  2. whlie ๋ฌธ์€ ์กฐ๊ฑด์ด ์ฐธ(True)์ธ ๋™์•ˆ while ๋ฌธ ๋ธ”๋Ÿญ ๋‚ด๋ถ€์˜ ๋ช…๋ น๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์กฐ๊ฑด์ด ๊ฑฐ์ง“(False)์ด ๋  ๋•Œ while๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๋Š” ์กฐ๊ฑด ์ œ์–ด ๋ฐ˜๋ณต ๊ตฌ์กฐ์ด๋‹ค.
  3. ๋ฆฌ์ŠคํŠธ๋Š” ์ˆœ์„œํ™”๋œ ๊ฐ’์˜ ์ง‘ํ•ฉ์ฒด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ผ์ข…์ด๋‹ค.
  4. for ๋ฌธ์€ ๋ฆฌ์ŠคํŠธ ๋“ฑ๊ณผ ๊ฐ™์€ ์‹œํ€€์Šค์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊นŒ์ง€ ํ•˜๋‚˜์”ฉ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜์—ฌ ๋ธ”๋Ÿญ์˜ ๋ช…๋ น๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ ํ›„ ์ข…๋ฃŒํ•˜๋Š” ๊ณ„์ˆ˜ ์ œ์–ด ๋ฐ˜๋ณต์ด๋‹ค.
  5. ์ค‘์ฒฉ ๋ฐ˜๋ณต ๊ตฌ์กฐ๋Š” ํ•˜๋‚˜์˜ ์™ธ๋ถ€ ๋ฐ˜๋ณต ๊ตฌ์กฐ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‚ด๋ถ€ ๋ฐ˜๋ณต ๊ตฌ์กฐ๊ฐ€ ์ค‘์ฒฉ๋˜์–ด ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋งํ•˜๋ฉฐ, ์™ธ๋ถ€ ๋ฐ˜๋ณต ๊ตฌ์กฐ๊ฐ€ ๋งค ๋ฐ˜๋ณต๋  ๋•Œ๋งˆ๋‹ค ๋‚ด๋ถ€ ๋ฐ˜๋ณต ๊ตฌ์กฐ์— ์žฌ์ง„์ž…ํ•˜์—ฌ ์ƒˆ๋กญ๊ฒŒ ์‹คํ–‰๋œ๋‹ค