728x90

Application 201

[Python] 파이썬 성적 관리 프로그램 만들기 — 중급 종합 실습

파이썬 성적 관리 프로그램 만들기 — 중급 종합 실습중급 시리즈 쭉 달려오면서 클래스도 배우고, 파일도 다뤄보고, 람다랑 컴프리헨션까지 만나봤잖아요. 바로 직전 글에선 가상환경이랑 pip로 작업 환경까지 깔끔하게 정리했고요. 근데 막상 하나씩 따로 배우다 보면 "이걸 다 합쳐서 뭘 만들 수 있지?" 싶으실 거예요. 저도 그랬거든요.그래서 이번엔 작은 프로젝트 하나를 처음부터 끝까지 같이 만들어볼게요. 주제는 파이썬 성적 관리 프로그램입니다. 학생 이름이랑 점수를 받아서, 평균을 내고, 정렬도 하고, 파일로 저장까지 하는 콘솔 프로그램이에요.python-16에서 만들었던 계산기 기억나시나요? 그때는 함수랑 if/while 정도로 끝났는데, 이번엔 한 단계 올려서 클래스 중심으로 갑니다. 같은 미니 프로젝트..

Application/Python 2026.05.20

[Python] 파이썬 가상환경과 pip 완벽 정리 (Windows 기준)

파이썬 가상환경과 pip 완벽 정리 (Windows 기준)지난 글 마무리에서 외부 라이브러리 본격적으로 쓰기 전에 환경부터 정리하자고 말씀드렸잖아요. 오늘이 바로 그 얘기예요.혹시 이런 경험 있으세요? 인터넷에서 본 예제 따라 하려고 pip install을 막 했다가, 나중에 다른 프로젝트에서 같은 라이브러리 다른 버전이 필요해서 꼬여본 경험. 저도 처음엔 그거 모르고 컴퓨터 한 대에 이것저것 다 깔다가, 어디서 뭐가 충돌하는지 추적이 안 돼서 결국 파이썬을 통째로 재설치했던 적이 있어요.이런 사고를 막아주는 게 바로 가상환경입니다.파이썬 가상환경이 도대체 뭔가요쉽게 말하면 프로젝트마다 따로 쓰는 칸막이 책상이에요.책상 A에는 A 프로젝트 도구만 올려두고, 책상 B에는 B 프로젝트 도구만 올려둡니다. 책..

Application/Python 2026.05.19

[Python] 파이썬 데코레이터: 함수를 꾸며주는 마법 (@ 기호의 정체)

파이썬 데코레이터: 함수를 꾸며주는 마법 (@ 기호의 정체)다른 사람이 짠 파이썬 코드를 보다 보면 가끔 이런 줄이 튀어나와요.@app.route("/")def home(): ... 함수 위에 @ 뭐시기가 한 줄 붙어있는 거. 처음 보면 이게 도대체 뭔가 싶거든요. 저도 처음 봤을 때 "이게 무슨 자바 어노테이션 같은 건가?" 하면서 검색창을 열었던 기억이 나요. 검색해보면 "데코레이터"라는 답이 나오는데, 설명이 또 어렵습니다. "함수를 받아서 함수를 반환하는 함수"라니, 한국말인데 한국말이 아닌 것 같죠.오늘은 이 @ 기호 하나의 정체를 끝까지 파볼게요. 결론부터 말씀드리면, @는 그냥 단축키예요. 진짜 그게 다입니다.함수도 변수에 담을 수 있어요파이썬 데코레이터를 이해하려면 먼저 한 가지 감각..

Application/Python 2026.05.15

[Python] 파이썬 람다와 map filter, 한 줄 함수로 코드 짧게 쓰는 법

파이썬 람다와 map filter, 한 줄 함수로 코드 짧게 쓰는 법컴프리헨션을 익히고 나면 코드가 한결 짧아지는 맛을 보게 되는데요. 그러다 보면 또 다른 욕심이 생기실 거예요."숫자 하나 두 배로 만드는 함수 하나 쓰려고 def 다섯 줄을 또 쓰는 게 너무 귀찮은데..."이럴 때 쓰는 게 바로 람다(lambda) 입니다. 그리고 람다랑 거의 짝꿍처럼 따라다니는 친구가 map이랑 filter예요. 오늘은 이 셋을 같이 묶어서 풀어볼게요.파이썬 람다(python lambda)가 뭔가요람다는 한마디로 이름 없는 한 줄짜리 함수예요. "익명 함수"라고도 부르고요.비유하자면 포스트잇 같은 거예요. 포스트잇에 "전화 다시 걸기"라고 쓱 적어두고 일 끝나면 떼서 버리잖아요. 람다도 그래요. 한 번만 쓰고 버릴 함..

Application/Python 2026.05.14

[Python] 파이썬 리스트 컴프리헨션, 코드 한 줄로 줄이는 마법

파이썬 리스트 컴프리헨션, 코드 한 줄로 줄이는 마법파이썬으로 쓴 다른 사람 코드를 보다 보면, 가끔 이런 한 줄을 만나게 되실 거예요.[x ** 2 for x in range(10)] 처음 보면 진짜 외계어 같죠. 저도 처음엔 이게 뭐지 싶었거든요. 분명 파이썬 코드인데 평소에 배운 문법이랑 모양이 너무 달라 보이잖아요.그런데 알고 보면 별거 아니에요. 그냥 for 루프를 한 줄로 압축해놓은 것뿐이거든요. 이걸 리스트 컴프리헨션(list comprehension)이라고 부르는데, 익숙해지면 코드가 훨씬 깔끔해져요. 클래스 얘기로 머리가 좀 무거우셨을 텐데, 오늘은 분위기 바꿔서 가볍게 코드 줄이는 기법 하나 살펴볼게요.일단 평범한 for 루프부터리스트 컴프리헨션을 이해하려면, 먼저 우리가 평소에 어떻게..

Application/Python 2026.05.13

[Python] 파이썬 상속과 오버라이딩, 클래스를 또 만들지 마세요

파이썬 상속과 오버라이딩, 클래스를 또 만들지 마세요지난 글에서 __init__으로 인스턴스 만드는 걸 해봤잖아요. 그때 강아지, 고양이, 햄스터 클래스를 비슷하게 또 만들면서 좀 부담스러우셨죠. 저도 처음 클래스를 배울 때 이 부분이 제일 답답했어요. 분명히 거의 똑같은 코드인데, 동물 종류가 늘어날 때마다 전체를 다시 써야 하니까요.사실 이걸 한 방에 해결하는 장치가 따로 있어요. 상속이라는 건데, 이름은 거창하지만 알고 보면 별거 없거든요.파이썬 상속이 뭔가요상속은 말 그대로 부모한테 뭔가를 물려받는 거예요. 부모 클래스가 가진 속성과 메서드를 자식 클래스가 그대로 가져다 쓰는 장치입니다.비유로 생각해보세요. 강아지도 결국 동물이잖아요. 동물이 가진 특징(숨을 쉰다, 먹는다)은 강아지도 다 가지고 ..

Application/Python 2026.05.12

[Python] 파이썬 생성자(__init__) 쉽게 이해하기

파이썬 생성자(init) 쉽게 이해하기지난번에 강아지 클래스 만들 때 set_info() 같은 메서드로 이름이랑 나이를 따로 넣었던 거 기억나세요? 클래스를 먼저 만들고, 그다음에 메서드를 한 번 더 호출해서 정보를 채워 넣는 방식이었잖아요.d = Dog()d.set_info("뽀삐", 3) 두 줄을 꼭 써야 하니까 살짝 답답하셨을 거예요. 저도 그랬거든요.근데 사실 이걸 한 줄에 끝낼 수 있는 방법이 있어요. 바로 오늘 배울 생성자예요.파이썬 생성자, 왜 필요할까요생성자라는 단어부터 이미 어렵죠. 그냥 이렇게 생각하시면 돼요.인스턴스가 태어나는 순간에 자동으로 실행되는 초기 세팅 코드.회원가입을 떠올리시면 이해가 쉬워요. 사이트에 가입할 때 이름, 이메일, 나이를 한 번에 입력하잖아요. 가입 버튼을 누..

Application/Python 2026.05.11

[Python] 파이썬 클래스, 객체지향이란 무엇일까

파이썬 클래스, 객체지향이란 무엇일까지난번에 계산기 미니 프로젝트 만들면서 살짝 답답한 부분 못 느끼셨어요? 더하기, 빼기, 곱하기, 나누기 함수 네 개가 그냥 따로따로 떠다니고 있었거든요. 분명 다 "계산기"라는 한 덩어리에 속하는 기능들인데, 코드만 보면 별 상관없는 함수들이 줄지어 서 있는 모양새였죠.오늘 그 답답함을 풀 차례예요. 이게 바로 클래스라는 친구의 등장 신호고, 흔히 말하는 객체지향이라는 사고방식의 시작점이기도 합니다. 드디어 중급 영역으로 넘어왔어요.객체지향이란 게 도대체 뭔가요이름이 거창해서 그렇지, 핵심은 한 줄이에요.관련 있는 데이터랑 기능을 한 덩어리로 묶어서 다루는 방식.이게 끝입니다. 진짜로요. 책에 보면 캡슐화니 다형성이니 어려운 단어들이 줄줄이 나오는데, 처음엔 그거 다..

Application/Python 2026.05.08

[Python] 파이썬 계산기 만들기 (첫 미니 프로젝트)

파이썬 계산기 만들기 (첫 미니 프로젝트)여기까지 따라오시느라 고생 많으셨어요. 변수, 조건문, 반복문, 함수, 예외 처리까지 한참 배웠는데, 솔직히 이게 다 따로따로 흩어져 있으면 좀 답답하잖아요. "이거 다 배워서 도대체 뭘 만드는 거지?" 싶은 순간이 분명 있으셨을 거예요.저도 그랬거든요.그래서 오늘은 지금까지 배운 걸 한 자리에 끌어모아서, 진짜 동작하는 작은 프로그램 하나를 만들어볼 거예요. 바로 콘솔 계산기.우리가 만들 파이썬 계산기거창한 건 아니에요. 이런 동작을 합니다.사용자가 두 숫자와 연산자(+, -, *, /)를 입력하면 결과를 출력q를 누르기 전까지 계속 사용 가능숫자 자리에 글자를 입력하거나 0으로 나눠도 프로그램이 죽지 않음코드는 최종적으로 40줄 정도 나와요. 처음부터 완성본을..

Application/Python 2026.05.07

[Python] 파이썬 예외처리, try except로 오류 잡는 법

파이썬 예외처리, try except로 오류 잡는 법지난 글에서 파일 읽기를 연습하다가, 파일 이름을 살짝 잘못 적은 적 있으시죠. 그 순간 화면이 빨간 글자로 뒤덮이면서 FileNotFoundError가 떴을 거예요.처음엔 그게 진짜 당황스럽거든요. 코드를 다 맞게 짠 것 같은데 빨간 메시지가 좌악 뜨면, "내가 또 뭘 잘못했지?" 싶고요.그런데 사실 저런 빨간 글자, 꼭 여러분 잘못이 아닐 때가 더 많아요.파이썬 오류는 왜 생길까요프로그램은 보통 위에서 아래로 한 줄씩 실행돼요. 그런데 가끔 예상 못한 상황을 만나면 거기서 멈춰버려요. 없는 파일을 열려고 했다거나, 0으로 나누려고 했다거나, 사용자가 숫자 칸에 글자를 넣었다거나요.이런 걸 예외(Exception) 라고 부릅니다. 에러랑 거의 같은 말..

Application/Python 2026.05.06
728x90