๐ก ๋ณธ ํฌ์คํ ์ ์์ ๋ด์ฉ, ๊ต์ฌ, ChatGPT๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ ํ์ต ๊ธฐ๋ก์ ๋๋ค.
๊ธ๊ณผ ๊ทธ๋ฆผ ๋ฑ ๋ชจ๋ ์ฝํ ์ธ ์ ์ ๋ฆฌ ๋ฐ ์์ฑ์ ๋ณธ ๋ธ๋ก๊ทธ์์ ์ง์ ์ ์๋์์ต๋๋ค.
Python ๊ธฐ์ด๋ถํฐ Streamlit ๋ฐ์ดํฐ ์๊ฐํ๊น์ง ์ ๋ฆฌํ๋ ํ์ต ๊ธฐ๋ก์ ๋๋ค.
์ด ๊ธ์ '2. [ํ์ด์ฌ] ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ' ์ ๋๋ค.
ํ๋ก๊ทธ๋จ ํ๋ฆ ์ ์ด (Control Flow)
ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ผ๋ก '์์์ ์๋๋ก ์์ฐจ์ ์ผ๋ก ์คํ'๋๋ค.
โ๏ธ ๊ธฐ๋ณธ ์คํ ํ๋ฆ
print("start")
print("processing")
print("end")
ํ์ง๋ง ์ค์ ํ๋ก๊ทธ๋จ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์ด ๋ฐ์ํ๋ค.
- ํน์ ์กฐ๊ฑด์ผ ๋๋ง ์คํ
- ๋์ผํ ์์ ์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต
- ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ ์์ฑ
์ด๋ฌํ ํ๋ฆ์ ์ ์ดํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ก '์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ'์ด๋ค.
์กฐ๊ฑด๋ฌธ → if / elif / else
๋ฐ๋ณต๋ฌธ → for / while
๋น๊ต ์ฐ์ฐ์์ ๋ ผ๋ฆฌ ์ฐ์ฐ์
์กฐ๊ฑด๋ฌธ์ 'Boolean ๊ฐ(True / False)'์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค.
โ๏ธ ๋น๊ต ์ฐ์ฐ์ ์์
a = 10
b = 7
print(a > b)
print(a == b)
print(a != b)
print(a <= b)
๊ฒฐ๊ณผ
True
False
True
False
๋ํ์ ์ธ ๋น๊ต ์ฐ์ฐ์
- > : ํฌ๋ค
- < : ์๋ค
- >= : ํฌ๊ฑฐ๋ ๊ฐ๋ค
- <= : ์๊ฑฐ๋ ๊ฐ๋ค
- == : ๊ฐ๋ค
- != : ๊ฐ์ง ์๋ค
if ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ์ ํน์ ์กฐ๊ฑด์ด True์ผ ๋๋ง ์ฝ๋ ๋ธ๋ก์ ์คํํ๋ค.
โ๏ธ ๊ธฐ๋ณธ if ์์
user_age = 20
if user_age >= 18:
print("์ฑ์ธ ์ฌ์ฉ์์
๋๋ค.")
์ค๋ช
์กฐ๊ฑด์ True → ์คํ
์กฐ๊ฑด์ False → ์คํํ์ง ์์
Python์์ ์กฐ๊ฑด๋ฌธ์ ๋ค์ฌ์ฐ๊ธฐ(indentation, ๋ณดํต 4์นธ)๋ก ๋ธ๋ก์ ๊ตฌ๋ถํ๋ค.
if - elif - else
์ฌ๋ฌ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ๋๋ elif ๋ฅผ ์ฌ์ฉํ๋ค.
score = 87
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
print("grade:", grade)
์คํ ๊ฒฐ๊ณผ
grade: B
์กฐ๊ฑด๋ฌธ์ ์์์ ์๋๋ก ํ๊ฐ๋๋ฉฐ, ์ฒ์ True๊ฐ ๋๋ ๋ธ๋ก๋ง ์คํ๋๋ค.
match - case (Python 3.10+)
์ฌ๋ฌ ์กฐ๊ฑด์ 'ํจํด ๋งค์นญ ๋ฐฉ์'์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ๊ตฌ์กฐ์ด๋ค.
command = "start"
match command:
case "start":
print("ํ๋ก๊ทธ๋จ ์์")
case "stop":
print("ํ๋ก๊ทธ๋จ ์ข
๋ฃ")
case _:
print("์ ์ ์๋ ๋ช
๋ น")
์ค๋ช
case _ : default ์ญํ
switch๋ฌธ*๊ณผ ๋น์ทํ์ง๋ง ํจํด ๋งค์นญ ๊ธฐ๋ฅ์ด ๋ ๊ฐ๋ ฅํ๋ค.
* ๋ค๋ฅธ ์ธ์ด(C, Java, JavaScript ๋ฑ)์๋ switch๋ฌธ์ด ์กด์ฌํ๋ค.
switch๋ฌธ์ ์ฌ๋ฌ ์กฐ๊ฑด ์ค ํ๋๋ฅผ ์ ํํ ๋ ์ฌ์ฉ๋๋ค.
switch (command) {
case "start":
console.log("ํ๋ก๊ทธ๋จ ์์")
break
case "stop":
console.log("ํ๋ก๊ทธ๋จ ์ข
๋ฃ")
break
default:
console.log("์ ์ ์๋ ๋ช
๋ น")
}
Pythond์๋ ์ ํต์ ์ธ switch๋ฌธ์ด ์์์ง๋ง,
Python 3.10๋ถํฐ match-case๋ฌธ์ด ๋์ ๋๋ฉด์ ๋น์ทํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ ๋์๋ค.
for ๋ฐ๋ณต๋ฌธ
for๋ฌธ์ iterable ๊ฐ์ฒด๋ฅผ ์ํํ ๋ ์ฌ์ฉ๋๋ค.
- ๋ํ์ ์ธ iterable : list, tuple, dict, set, range, string
โ๏ธ ๋ฆฌ์คํธ ๋ฐ๋ณต ์์
numbers = [5, 12, 18, 7, 25]
for number in numbers:
print(number)
range ํ์ฉ
range๋ ๋ฐ๋ณต๋ฌธ์์ ์์ฃผ ์ฌ์ฉ๋๋ค.
โ๏ธ range ๋ฐ๋ณต
for i in range(5):
print(i)
๊ฒฐ๊ณผ
0
1
2
3
4
range ๊ตฌ์กฐ
range(start, stop, step) # ์์ ํฌํจ, ๋ ๋ฏธํฌํจ, ๊ฐ๊ฒฉ
๋ฐ๋ณต๋ฌธ + ์กฐ๊ฑด๋ฌธ
๋ฐ๋ณต๋ฌธ ๋ด๋ถ์์ ์กฐ๊ฑด๋ฌธ์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ํํฐ๋ง ํ ์ ์๋ค.
โ๏ธ ์ง์ ํํฐ๋ง ์์
numbers = list(range(1, 21))
even_numbers = []
for number in numbers:
if number % 2 == 0:
even_numbers.append(number)
print(even_numbers)
๊ฒฐ๊ณผ
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
while ๋ฐ๋ณต๋ฌธ
while๋ฌธ์ ์กฐ๊ฑด์ด True์ธ ๋์ ๋ฐ๋ณตํ๋ค. (์์ฑ์ ๋ฐ๋ผ ๋ฌดํ๋ฃจํ ๊ฐ๋ฅ)
โ๏ธ while ์์
count = 1
while count <= 5:
print("count:", count)
count += 1
์คํ ๊ฒฐ๊ณผ
count: 1
count: 2
count: 3
count: 4
count: 5
break์ continue
๋ฐ๋ณต๋ฌธ ์ ์ด๋ฅผ ์ํด ์ฌ์ฉํ๋ ํค์๋์ด๋ค.
์์์ ์๋๋ก ์์ฐจ์ ์ผ๋ก ์คํ๋๋ค๊ฐ break๋ฅผ ๋ง๋๋ฉด ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
โ๏ธ break ์์
for number in range(10):
if number == 5:
break
print(number)
๊ฒฐ๊ณผ
0
1
2
3
4
โ๏ธ continue ์์
for number in range(10):
if number % 2 == 0:
continue
print(number)
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ (List Comprehension)
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ๋ฐ๋ณต๋ฌธ์ ๊ฐ๊ฒฐํ๊ฒ ํ ์ค๋ก ์์ฑํ๋ ๋ฐฉ๋ฒ์ด๋ค.
โ๏ธ ์ผ๋ฐ ๋ฐ๋ณต๋ฌธ
numbers = []
for i in range(10):
numbers.append(i * i)
print(numbers)
โ๏ธ List Comprehension
numbers = [i * i for i in range(10)]
print(numbers)
์กฐ๊ฑด๋ ํจ๊ป ์ฌ์ฉํ ์ ์๋ค.
โ๏ธ ์กฐ๊ฑด ํฌํจ
even_squares = [i*i for i in range(20) if i % 2 == 0]
print(even_squares)
๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์
โ๏ธ ํ์ ์ ์ ๋ถ์
scores = [82, 91, 77, 68, 95, 88, 73]
total_score = 0
max_score = scores[0]
min_score = scores[0]
for score in scores:
total_score += score
if score > max_score:
max_score = score
if score < min_score:
min_score = score
average_score = total_score / len(scores)
print("ํ๊ท :", round(average_score, 2))
print("์ต๊ณ ์ ์:", max_score)
print("์ต์ ์ ์:", min_score)
์ ๋ฆฌ
์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ Python ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๋ ํต์ฌ ๊ตฌ์กฐ์ด๋ค.
์ด๋ฒ ๊ธ์์ ๋ค๋ฃฌ ์ฃผ์ ๊ฐ๋ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋น๊ต ์ฐ์ฐ์
- if / elif / else
- match-case
- for ๋ฐ๋ณต๋ฌธ
- while ๋ฐ๋ณต๋ฌธ
- break / continue
- list comprehension
์ด๋ฌํ ์ ์ด ๊ตฌ์กฐ๋ ์ดํ์ ๋ค๋ฃจ๊ฒ ๋ ํ๊ธฐ ์ฃผ์ ์์๋ ๋งค์ฐ ์ค์ํ ๊ธฐ๋ฐ์ด ๋๋ค.
- ํจ์
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ๋ฐ์ดํฐ ๋ถ์
'Python & SQL > Python Basics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 5. [ํ์ด์ฌ] ๋์ ๋๋ฆฌ (0) | 2026.03.06 |
|---|---|
| 4. [ํ์ด์ฌ] ํํ๊ณผ ํจํน/์ธํจํน (0) | 2026.03.06 |
| 3. [ํ์ด์ฌ] Python ์๋ฃํ (0) | 2026.03.06 |
| 1. [ํ์ด์ฌ] Python ์์ํ๊ธฐ (0) | 2026.03.06 |
| [ํ์ด์ฌ ํ์ต] Python ์ ๋ฆฌ ์๋ฆฌ์ฆ (๊ธฐ์ด๋ถํฐ ๊ฐ์ฒด์งํฅ๊น์ง) (0) | 2026.03.06 |