본문 바로가기
AI 개발자 성장기/AI 오케스트레이션 캠프 회고

AI 오케스트레이션 개발자 국비지원 3일차 회고 | Python 자료구조와 함수, 그리고 Codex 첫 사용 (Family 엔코아 SK 네트웍스 멀티 AI 에이전트)

by 랩보다 AI 더 잘해지기 2026. 7. 13.
728x90

 

오늘부터는 본격적으로 Python 프로그래밍의 핵심으로 들어갔다. 지난 시간이 개발 환경을 만드는 시간이었다면, 오늘은 실제 프로그램을 어떻게 구성하는지 배우는 시간이었다. 특히 자료구조와 함수는 앞으로 AI 애플리케이션을 만들 때도 계속 사용될 개념이라 집중해서 들었다.


오늘 배운 내용

1. Python 자료구조(List, Tuple, Dictionary)

오늘 가장 먼저 배운 것은 여러 개의 데이터를 관리하는 방법이었다.

List

가장 많이 사용하는 자료구조로 데이터를 자유롭게 추가, 수정, 삭제할 수 있다.

예를 들어

  • append()
  • insert()
  • pop()
  • len()

같은 메서드를 직접 사용하면서 데이터를 추가하거나 삭제하는 방법을 실습했다.

또한

  • for문으로 하나씩 꺼내기
  • enumerate()
  • index()

등도 함께 연습했다.


Tuple

Tuple은 List와 비슷하지만 한 번 만들면 수정할 수 없는 자료구조다.

특히 여러 개의 값을 한 번에 반환할 때 많이 사용한다는 점이 인상적이었다.

예를 들어

 
return total, average
 

처럼 두 개 이상의 값을 반환하면 Tuple 형태로 전달된다.

그리고

 
total, average = calculate()
 

처럼 Tuple Unpacking을 사용하면 각각의 변수로 바로 받을 수 있다는 것도 처음 배웠다.


Dictionary

오늘 가장 많이 사용한 자료구조였다.

학생 정보를

 
{
    "name": "Jean",
    "score": 95
}
 

처럼 Key와 Value 형태로 저장했다.

Dictionary를 이용하면

  • 이름
  • 점수
  • 합격 여부

등을 키를 이용해 쉽게 가져올 수 있었다.

 
items()
keys()
values()
get()
 

같은 메서드도 함께 배웠다.


2. 학생 정보를 활용한 실습

자료구조를 배운 뒤에는 학생 정보를 이용한 실습을 진행했다.

직접 구현한 기능은

  • 학생 평균 구하기
  • 학점(A~F) 계산하기
  • 합격 여부 확인하기
  • 평균보다 낮은 학생 찾기
  • 점수순 정렬하기

였다.

특히

 
sorted(
    students,
    key=lambda x: x["score"],
    reverse=True
)
 

를 사용해서 점수를 기준으로 내림차순 정렬하는 방법도 처음 배웠다.

처음에는 lambda가 어려웠지만,

"학생 한 명을 받아 점수만 꺼내는 이름 없는 함수"

라는 개념으로 이해하니 훨씬 쉬웠다.


3. 함수(Function)

오늘 가장 중요하게 느낀 부분은 함수였다.

처음에는 모든 코드를 한 곳에 작성했지만,

점점

  • 평균 계산
  • 학점 계산
  • 출력
  • 학생 필터링

처럼 기능별로 함수를 분리하는 방식으로 코드를 작성했다.

예를 들어

 
calculate_average()

get_grade()

is_passed()

filter_failed_students()
 

처럼 함수 이름만 봐도 어떤 역할인지 알 수 있도록 만드는 것이 중요하다는 점을 계속 강조하셨다.

또한 함수는

  • 입력(Argument)
  • 처리
  • 반환(Return)

이라는 흐름으로 생각하는 습관을 가져야 한다는 것도 배웠다.


4. 여러 개의 값 반환하기

오늘 처음 알게 된 내용 중 하나였다.

함수는 하나의 값만 반환하는 것이 아니라

 
return total, average
 

처럼 여러 개의 값을 반환할 수도 있다.

그리고

 
total, average = calculate()
 

처럼 바로 받을 수도 있다.

Tuple이 왜 필요한지 실제 예제로 이해할 수 있었다.


5. 함수 안에서 함수 사용하기

또 하나 기억에 남았던 부분이다.

이미 만든 함수를 다른 함수 안에서 다시 호출해 사용할 수 있다.

예를 들어

평균을 구하는 함수를 만들어 두었다면

다른 함수에서는

 
average = calculate_average(scores)
 

처럼 다시 계산식을 작성하지 않아도 된다.

코드를 재사용하는 것이 함수의 가장 큰 장점이라는 것을 느꼈다.


6. 조건문 활용

함수 안에서

 
if
elif
else
 

를 사용하는 연습도 많이 했다.

학점 계산

90점 이상 → A
80점 이상 → B
70점 이상 → C
60점 이상 → D
60점 미만 → F
 

뿐 아니라

합격 여부

 
return score >= 60
 

처럼 Boolean(True / False)을 반환하는 함수도 만들었다.


7. 계산기 프로그램 함수로 리팩토링

기존 계산기 프로그램도 함수로 다시 작성했다.

 
calculate(a, b, operator)
 

하나의 함수에서

  •  
  •  
  •  
  • /
  • %

연산을 모두 처리하도록 만들었다.

또한

  • 0으로 나누기
  • 존재하지 않는 연산자

같은 예외 상황도 함께 처리하면서 함수의 역할을 조금 더 이해할 수 있었다.


8. Codex 설치

마지막 시간에는 OpenAI의 Codex도 설치했다.

VS Code 확장 프로그램과 데스크톱 프로그램을 설치하고 학교에서 제공한 Workspace 계정으로 로그인했다.

강사님께서는 앞으로 AI를 사용할 때도

  • 무조건 코드를 만들어 달라고 하기보다
  • 함수를 어떻게 설계하면 좋을지
  • 테스트 방법은 무엇인지
  • 코드 흐름을 설명해 달라고 질문하는 습관을 가지라고 말씀하셨다.

AI를 잘 사용하는 것도 결국 프로그래밍을 이해하고 있어야 가능하다는 점이 인상 깊었다.


오늘 느낀 점

오늘부터는 확실히 프로그래밍다운 내용을 배우기 시작했다.

자료구조와 함수는 각각 따로 보면 어렵지 않은데, 여러 개를 조합해서 프로그램을 만들기 시작하니 처음보다 훨씬 사고해야 하는 부분이 많아졌다.

특히 강사님이 계속 강조하신 "먼저 한국말로 프로그램의 흐름을 설명한 뒤 코드를 작성하라."는 말이 가장 기억에 남는다.

코드를 먼저 보는 것이 아니라,

  • 무엇을 입력받고
  • 무엇을 계산하고
  • 무엇을 반환하는지

를 먼저 생각하는 습관을 들여야 앞으로 AI와 함께 개발할 때도 훨씬 도움이 될 것 같다.

또한 Codex를 설치하면서 앞으로 AI를 단순한 답변 도구가 아니라 함께 개발하는 도구로 활용하게 될 것 같아 기대가 된다.


오늘 배운 키워드

  • Python 자료구조
  • List
  • Tuple
  • Dictionary
  • Tuple Unpacking
  • Lambda
  • sorted()
  • 함수(Function)
  • Argument
  • Return
  • Boolean
  • 조건문(if, elif, else)
  • 계산기 함수 리팩토링
  • 학생 정보 관리
  • Codex
  • VS Code
  • GitHub 연동

댓글