Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트 - 3강 소풍 가기 리스트 사용

2강에서는 positional argument가 1개만 주어졌다면, 이제는 2개 이상의 positional arguments도 등장했다. 이런 경우 nargs='+' 로 지정해주면 1개 이상의 값을 불러와서 list로 만들어주기 때문에 편리하게 사용이 가능했다. --sorted와 같은 boolean flag을 이용해서 해당 list을 정렬할 것인지를 결정하는 방법도 수행했다. 기본적인 python 문법에 대한 이해가 있다면 책 내용을 보지 않고도 해답을 찾을 수 있었다. 필요한 개념들 list slicing positional arguments 에서 nargs 사용법 if, elif, else tmi. C++을 공부하다가 간만에 python을 잡았더니 습관적으로 else if 을 사용하게 된다ㅋㅋ 문제 없어보이는데 빨간줄이 가있길래 봤더니 elif로 사용해야 문제가 사라지더라. 참… 언어 왔다갔다리는 참 헷갈리… ...

2024-2-21 · 2 min · 278 words · Junha

Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트 - 4강 숫자 5 넘어가기 딕셔너리 사용

4강의 내용도 비교적 간단한 편이었다. 3강에서 list을 다뤘다면, 4강에서는 dictionary에 대해서 배운다. key:value로 이어지는 dictionary의 경우 정해진 값을 반복해서 가져오는데에는 아주 효율적인 툴이다. 그리고 효율적인 key 탐색 방법을 우리가 직접 구현하지 않아도 된다는 점에서 매우 유용하다고 할 수 있다. Keypoints! dictionary의 대부분의 기능들을 익히 알고 있었는데, 이번에 새롭게 알게된 여러 유용한 기능들을 남겨두려 한다. 지금까지 코딩테스트 문제들을 풀 때에는 그냥 dict['key']형태로만 탐색을 했는데, 혹시라도 key가 dict에 없을 경우에 에러가 발생하는게 은근히 골치아팠다. 일일히 if else 구문으로 예외 처리를 해줬어야 했는데, get()을 이용하면 비교적 편하게 불러올 수 있다. dict.get(key, 없을때반환값)처럼 get은 두 개의 인수를 지정할 수 있는데, 먼저 dict에 key가 있는지를 확인하고, 있으면 해당 value를, 없다면 미리 지정된 ‘없을때의 반환값’을 return해준다. 4강의 내용처럼 숫자와 문자가 뒤섞여있는 경우에, 일일히 type으로 파악하지 않고도, 숫자값만 dict에 저장해두고 없으면 있는 그대로 return해주는 논리를 짜면 한줄에 문제 해결이 가능해진다. ...

2024-2-21 · 2 min · 309 words · Junha

Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트 - 5강 하울러 파일 및 STDOUT 사용하기

5강에서는 처음으로 파일을 읽고 쓰는 방법에 대해 다룬다. 텍스트를 입력받아서 실제 파일을 만들고 저장할 수 있는건데, 참 신기했다. 요새 파이썬 업무 자동화 관련 책들이 참 많은데, 대부분 파일들을 가지고 엑셀이나 분류 작업을 자동으로 시키는 방식을 택한다. Tiny Python Projects의 저자의 경우 책의 서문에서 이렇게 밝힌다: 나는 텍스트를 기반으로 한 업무가 많았고, 그 과정에서 얻게 된 노하우들을 이 책에 담았다. 그래서 파일을 파이썬으로 다루는 연습을 통해서 반복작업을 단순화할 수 있지 않을까 기대해본다. ...

2024-2-21 · 1 min · 73 words · Junha

Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트 - 2강 배 위의 망대 문자열 처리

Github 상의 python 코드를 보면 처음부터 무시무시한 argparse 부분이 등장하는데, 드디어 그것의 의미를 알게 되었다. 한마디로 정리하면, “굳이 필터링을 일일히 하지 않아도, 사용자의 입력을 ‘argparse’가 알아서 처리해준다"는 매우 편리헌 기능이었다. 마치 class을 지정하고 상속하는 것과 유사한 맥락이었다. 테스트 주도 개발 test-driven development 소프트웨어 개발 전 테스트 코드 작성 테스트 실행해서 소프트웨어가 실행하지 못하는 태스크 확인 테스트 통과 기준 만족하는 소프트웨어 작성 테스트 결과 확인 추가 테스트 진행 2강을 활용했던 방법 책의 내용을 그대로 따라하기 보다는 직접 해결해보고 싶어서, 먼저 코드만 가지고 문제풀이를 진행했다. MAC이나 Linux의 경우 requirements.txt안의 파일들을 모두 설치해두었다면, make test라는 간단한 문장으로 pytest -xv test.py을 대신할 수 있다. 테스트 결과가 나오고 어디에서 문제가 생겼는지를 확인할 수 있는데, 이런 힌트들을 가지고 본인의 코드를 수정할 수 있다는 책의 구성이 마음에 들었다. ...

2024-2-20 · 3 min · 517 words · Junha

Tiny Python Projects 21개의 작고 재미난 파이썬 프로젝트 - 1강 파이썬 프로그램 작성 및 테스트 방법

실제 코더가 되어서 현업에서 일하는 것과 같은 느낌을 주는 구성의 책! Python을 이용한 작업이 어떻게 굴러가는지에 대해 관심이 많다면 꼭 읽어보기를 권한다. 1강에서는 본격적인 Python 프로젝트 이전에 사용할 수 있는 도구들에 대해 소개하고, Python 개발 관습에 대해서 알려준다. 저자의 개인적인 꿀팁도 담고 있으니 코드를 작성하는 과정에서 얻어가는 것들이 정말 많다. 실행 가능한 프로그램 만들기 $ chmod +x hello.py $ mkdir ~/bin $ cp 01_hello/hello.py ~/bin $ PATH=~/bin:$PATH $ which hello.py 위 과정을 거치면 어디에서 실행하더라도 hello.py만 입력해서 바로 실행할 수 있다. ...

2024-2-15 · 1 min · 153 words · Junha