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

[Python] 6๊ฐ• - ์„ ํƒ ๊ตฌ์กฐ

junbin2 2025. 4. 16. 17:10

2. ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

3. ์„ ํƒ ๊ตฌ์กฐ์˜ ํ™•์žฅ

1. ์„ ํƒ ๊ตฌ์กฐ

(1) ์„ ํƒ ๊ตฌ์กฐ์˜ ๊ฐœ๋…

 - ํŠน์ • ์˜์—ญ ๋‚ด์˜ ๋ช…๋ น๋ฌธ์— ๋Œ€ํ•œ ์‹คํ–‰ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จ์— ๋”ฐ๋ผ ๊ฒฐ์ •ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 - ์‹คํ–‰ ์—ฌ๋ถ€๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฒฐ์ •์ด ๋œ๋‹ค. ( ํŒŒ์ด์ฌ์—์„  if๋ฌธ์„ ์˜๋ฏธํ•œ๋‹ค. )

 

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

a = 1
if a < 2 : print("success") # a < 2 : true ์ฐธ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰ ๋จ.

 - ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ์ฝ”๋“œ ๋ธ”๋ก์„ ํ‘œํ˜„ํ•จ.

 - ํŠน์ • ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•œ ๋ผ์ธ ์ด์ƒ์˜ ๋ช…๋ น๋ฌธ์˜ ์ง‘ํ•ฉ

 - ์ŠคํŽ˜์ด์Šค 4์นธ ๊ถŒ๊ณ (PEP-8)

 - if ์™€ : ์‚ฌ์ด์—๋Š” ๋…ผ๋ฆฌํ˜•(boolean) ํƒ€์ž…์— ๋งž๊ฒŒ true & false๋กœ ์ฐธ์ผ ๊ฒฝ์šฐ์™€ ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ์— ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ.

 

(3) ๋ถˆ๋ฆฌ์–ธ์‹

 - ๋น„๊ต์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ€ ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž…์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ํ‘œํ˜„์‹์„ ์˜๋ฏธํ•จ.

 - ์‰ฝ๊ฒŒ ๋งํ•ด, true ์™€ false ์ฐธ๊ณผ ๊ฑฐ์ง“์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์˜๋ฏธํ•œ๋‹ค.

[1] ๋น„๊ต์—ฐ์‚ฐ์ž

[2] ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž…

 - ๋…ผ๋ฆฌ๊ฐ’์ด ์ฐธ(True)๊ณผ ๊ฑฐ์ง“(False)์˜ ๊ฐ’๋งŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์˜๋ฏธํ•œ๋‹ค.

 - True ๋˜๋Š” False ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋„ ๊ฐ€๋Šฅํ•จ.

 - ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ ํ‘œํ˜„์‹์˜ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ

 


2. ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

(1) ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์˜ ๊ฐœ๋…

 - ์ฐธ, ๊ฑฐ์ง“์„ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…์ œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ช…์ œ์˜ ์ง‘ํ•ฉ์„ ์œ„ํ•ด ๊ณ ์•ˆํ•œ ์—ฐ์‚ฐ์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 - ์‰ฝ๊ฐœ ๋งํ•ด, ๋‘ ๊ฐœ์˜ ๋…ผ๋ฆฌ๊ฐ’(๋ถˆ๋ฆฌ์–ธ์‹)์„ ์—ฐ์‚ฐํ•˜์—ฌ ์ฐธ ๋˜๋Š” ๊ฑฐ์ง“์„ ๊ฒฐ๊ณผ๋กœ ์–ป๋Š” ์—ฐ์‚ฐ์ž๋ฅผ ๋งํ•œ๋‹ค.

 - ๋‘ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๊ฐ–๋Š” ์ดํ•ญ ์—ฐ์‚ฐ์ž

 - ํŒŒ์ด์ฌ์—์„œ๋Š” and(๋…ผ๋ฆฌ๊ณฑ), or(๋…ผ๋ฆฌํ•ฉ), not(๋…ผ๋ฆฌ๋ถ€์ •) ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•œ๋‹ค.

[1] and ์—ฐ์‚ฐ์ž

 - ๋‘ ๋…ผ๋ฆฌ๊ฐ’์ด ๋ชจ๋‘ True ์ผ ๋•Œ True์ด๊ณ , ์–ด๋А ํ•˜๋‚˜ False ์ผ ๊ฒฝ์šฐ False๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

[2] or ์—ฐ์‚ฐ์ž

 - ๋‘ ๋…ผ๋ฆฌ๊ฐ’ ์ค‘ ์–ด๋А ํ•˜๋‚˜๋ผ๋„ True ์ผ ๊ฒฝ์šฐ True์ด๊ณ , ๋…ผ๋ฆฌ๊ฐ’ ๋ชจ๋‘ False ์ผ ๊ฒฝ์šฐ์—๋งŒ False๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

[3] not ์—ฐ์‚ฐ์ž

- ๋‹จํ•ญ ์—ฐ์‚ฐ์ž๋กœ ๋…ผ๋ฆฌ๊ฐ’์„ ๋ฐ˜์ „ํ•˜์—ฌ False๋Š” True๋กœ, True๋Š” False๋กœ ๋ฐ˜ํ™˜์„ ํ•ด์ค€๋‹ค.

 

(2) ๋‹จ๋ฝํ‰๊ฐ€

 - ์ฒซ ๋ฒˆ์งธ ๋…ผ๋ฆฌ๊ฐ’ ๋งŒ์œผ๋กœ ์ „์ฒด ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ํŒ๋ณ„ ๊ฐ€๋Šฅํ•  ๋•Œ ๋‘ ๋ฒˆ์งธ ๋…ผ๋ฆฌ๊ฐ’์€ ํ™•์ธ(ํ‰๊ฐ€)ํ•˜์ง€ ์•Š๋Š” ๊ธฐ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค.

 - and ์—ฐ์‚ฐ์ž์—์„œ ์•ž์ด False์ด๋ฉด and ๋’ค๋Š” ๋ณผ ํ•„์š”๋„ ์—†์Œ

 - or ์—ฐ์‚ฐ์ž์—์„œ ์•ž์ด True์ด๋ฉด or ๋’ค๋Š” ๋ณผ ํ•„์š”๋„ ์—†์Œ

 - ์ด๋Ÿฌํ•œ ๊ณผ์ •์˜ ์ƒ๋žต์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Œ.

 


3. ์„ ํƒ ๊ตฌ์กฐ์˜ ํ™•์žฅ

(1) fi ์˜ˆ์•ฝ์–ด

 - if ์˜ˆ์•ฝ์–ด๋Š” ์ฝ”๋“œ์˜ ์กฐ๊ฑด์„ ๋„ฃ๊ธฐ ์œ„ํ•œ ํŒŒ์ด์ฌ์—์„œ ์ œ๊ณต์„ ํ•ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.

 - if ๋’ค์— ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์‹คํ–‰๋˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ.

a = 1
if a < 2: # ๊ฒฐ๊ณผ๋Š” true
    print("success") # true ์ฐธ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰ ๋จ.

 

(2) else ์˜ˆ์•ฝ์–ด - ์ด๋ถ„ ์„ ํƒ ๊ตฌ์กฐ์˜ ๊ตฌ๋ฌธํ˜•์‹

- else ์˜ˆ์•ฝ์–ด๋Š” if๋ฅผ ํ†ตํ•ด ์ฒซ ๋ฒˆ์งธ ๋ช…๋ น์ด ์‹คํ–‰๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ์‹คํ–‰์ด ๋˜์–ด์•ผ ํ•  ๋ช…๋ น๋ฌธ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

a = 3
if a < 2: # false ๊ฒฐ๊ณผ
    print("success")
else:
    print("failure") # ํ•ด๋‹น ๊ตฌ๋ฌธ์ด ์‹คํ–‰๋จ 2๋ณด๋‹ค 3์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์—

 

(3) elif ์˜ˆ์•ฝ์–ด - ๋‹ค๋ถ„ ์„ ํƒ ๊ตฌ์กฐ์˜ ๊ตฌ๋ฌธํ˜•์‹

 - elif ์˜ˆ์•ฝ์–ด๋Š” ์กฐ๊ฑด์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ ์ด๋‹ค. ( else if ์˜ ์•ฝ์ž์ž„ )

a = 100
if a < 2: # true ๊ฒฝ์šฐ ์•„๋ž˜ ๋ช…๋ น๋ฌธ ์‹คํ–‰
    print("success")
elif a < 3: # true ๊ฒฝ์šฐ ์•„๋ž˜ ๋ช…๋ น๋ฌธ ์‹คํ–‰
    print("success")
elif a < 99: # true ๊ฒฝ์šฐ ์•„๋ž˜ ๋ช…๋ น๋ฌธ ์‹คํ–‰
    print("success")
else : # ๋ชจ๋‘๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด else ๋ช…๋ น๋ฌธ ์‹คํ–‰
    print("failure")

 - ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด, if ์—์„œ true๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๋‹ค์Œ elif ๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, elif ์กฐ๊ฑด๋ฌธ์ด false๋ผ๋ฉด ๊ณ„์†ํ•ด์„œ ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.