아침에 30분에서 1시간 산책을 하고 9시부터 학습을 시작했다. 산책 후 머리가 맑아진 느낌이다.
오늘의 학습 목표는 파이썬 공부, SQL 복습, 그리고 SQL문제 풀이다.
오늘 파이썬 학습의 핵심은 제어 구문이었다. 조건문, 반복문(for, while)을 배웠다.
조건문은 특전 조건을 만족하면 코드를 실행하고, 만족하지 않으면 다른 코드를 실행하는 구조다.
#기본 조건문
age = 20
if age >= 20:
print("성인입니다")
else:
print("미성년자입니다"
파이썬 조건문에서 가장 중요한 것은 들여쓰기다. 들여쓰기로 코드 블록을 구분하기 때문에, 들여쓰기 실수는 문법 에러로 이어진다. 또한 띄어쓰기도 중요하다. 연산자 (==, !=, >, <, >=, <=) 주변의 띄어쓰기가 코드의 가독성을 결정한다.
# 다중 조건문
score = 85
if score >= 90:
print("A등급")
elif score >= 80:
print("B등급")
elif score >= 70:
print("C등급")
else:
print("F등급)
반복문은 특정 코드를 여러번 실행하고 싶을 때 사용한다. for문과 while문이 있다.
1. For문 기본 사용법
# 리스트 반복
fruits = ["사과", "바나나", "오렌지"]
for fruit in fruits:
print(fruit)
# 범위 반복
for i in range(1, 6): # 1부터 5까지
print(i)
2. 조건문과 함께 사용하는 반복문
# 반복 중 조건 적용
for i in range(1, 11):
if i % 2 == 0:
print(f"{i}는 짝수입니다")
else:
print(f"{i}는 홀수입니다")
3. 이중 for문
# 구구단 예시
for i in range(2, 10):
for j in range(1, 10):
print(f"{i} × {j} = {i*j}")
이중 for문은 바깥쪽 for문이 한 번 실행될 때마다 안쪽 for문이 전체 반복된다.
While문
# 기본 while문
count = 0
while count < 5:
print(f"반복 {count + 1}")
count += 1
# 무한 루프 방지
i = 0
while True:
if i >= 5:
break
print(i)
i += 1
while문은 조건이 참(True)인 동안 계속 반복된다. 따라서 반복을 멈추기 위한 조(break)을 명확히 설정해야 한다.
그래야 무한 루프에 빠지는 실수를 피할 수 있다.
오늘은 어제 배웠던 Subquery와 곧 배울 Join에 대해 복습했다.
Subquery는 쿼리 안에 또 다른 쿼리를 포함하는 방식이다. 복잡한 데이터 처리를 단계별로 나눠서 할 수 있다는 점이 강력하다. 어제의 혼란스러움이 조금씩 정리되고 있다.
Join은 두 개 이상의 테이블을 연결하는 방식인데, 아직 완벽하게 이해했다고 하기는어렵다. 하지만 이해는 되고 있다. 내일 본격적으로 배울 때 더 깊이 있게 다룰 것 같다.
완벽하게 이해가 됐다고 하기에는 자신이 없지만 반복 학습을 통해 점진적으로 명확해지고 있다는 느낌이 든다.
오늘 목표중 하나인 SQL문제 풀이는 하지 못했다.
파이썬을 공부하면서 많은 궁금증이 생겼고, 그것을 해결하기 위해 검색하고 다시 듣기를 반복했다. 파이썬의 문법이 SQL과 다르고 개념도 새로워서 집종도가 낮아졌다. 결국 시간을 충분히 확보하지 못해 SQL 문제를 풀 수 없었다.
이건 반드시 오늘이 가기 전에 한 문제라도 풀어야겠다는 생각이 들었다. SQL 숙제를 미루면 내일의 부담이 커지기 때문이다.
8일차를 마무리하며....
2주차 중반이 되면서 학습의 난도가 확실히 올라갔다. SQL 심화 개념들, 그리고 새로운 언어인 Python을 동시에 배우고 있다.
파이썬의 조건문, 반복문, while문은 프로그래밍의 기초 중 기초다. 이것들을 환벽히 이해해야나중에 고급 파이썬 개념(함수, 클래스, 라이브러리)을 배울 수 있다. 그래서 오늘의 학습이 얼마나 중요한지 알 수 있었다.
동시에 SQL도 깊이 있게 학습하고 있다. Subquery의 구조와 논리, Join의 여러 종류, 그리고 문제 해결 능력을 기르는 중이다.
오늘 풀지 못한 SQL 문제를 잠들기 전에라도 풀어야 한다. 학습의 연속성을 유지하는 것이 중요하다. 내일은 더 나은 시간 관리로 SQL과 Python을 균형 있게 학습해야겠다.