예제로 알아보는 argparse 사용법

몇 년 전에 argparse의 사용법을 간단하게 정리한 글을 발행했는데, 우연히 몇 가지 찾아보다 보니 기능설명의 나열만 읽어봐서는 애매한 부분도 많고 원하는 형태로 설정하는 것도 계속 헷갈려서 큰 맘 먹고 총정리 하는 마음으로 새로운 글을 하나 써보기로 마음 먹었다. 오늘은 명령줄 인자를 파싱하는 도구인 argparse를 어떻게 사용하는지, 그리고 몇몇 경우에 있어서 옵션의 동작을 어떻게 설정하는지를 좀 더 자세히 살펴보고자 한다.

예제로 알아보는 argparse 사용법 더보기

[Python] 클래스 구현 예제 – Vector

지난 시간에 이어서 간단한 클래스 예제를 통해서 클래스를 작성하고 활용하는 방법을 살펴보도록 하겠다. 그리고 객체가 가지는 추가적인 비밀스런(?) 메소드나 속성에 대해서도 조금 더 알아보겠다.

개인적으로 데이터나 함수를 묶어두는 용도로 굳이 클래스를 써야하는가에 대해서는 회의적인 입장이다. 모든 객체인스턴스는 속성이나 메소드를 참조하기 위해서는 내부적인 lookup 과정을 거치기 때문에 사실상 사전으로 대체하는 것도 무방하다고 생각한다. 그럼에도 불구하고 이번에는 클래스로 정의해두는 것이 훨씬 더 사용성을 높이고 편리하게 사용될 수 있는 케이스에 대해서 접근해보겠다.

[Python] 클래스 구현 예제 – Vector 더보기

[Python] 클래스 이해하기

클래스를 설명할 때 흔히 쓰는 표현은 ‘클래스는 거푸집에 해당하고 객체는 그 거푸집으로 찍어내는 벽돌에 해당한다.’는 것이다. 물론 완전히 틀린 설명은 아닌데, 이 개념에서 출발해서 클래스를 이해하는 것은 객체와 클래스의 관계와 클래스를 어떻게 다룰 것인지 등 여러 관점을 정립하는데 많은 어려움을 유발한다.

이 글은 파이썬 초보자들이 클래스에 대해 접근하고 이해하는데 도움을 주고자 작성됐다.

모든 것은 객체이다.

파이썬에서 통용되는 가장 중요한 대전제는 모든 것이 객체라는 것이다. 1, 2와 같은 숫자값도 C처럼 원시값이 아니라 int 타입의 객체이다. 함수 역시 객체이고 모듈이나 패키지도 객체처럼 취급된다. 모든 것이 객체라면, 클래스 그 자체도 객체라는 말이된다. 그럼 이 시점에서 다시 한 번 되물어보자. 도대체 객체란 무엇인가?

[Python] 클래스 이해하기 더보기

사전은 처음이라

이번 시간에는 사전에 대해서 알아보겠습니다. 사전은 리스트와 더불어 대표적인 (그리고 가장 중요한) 파이썬의 데이터 타입 중 하나입니다. 리스트와 마찬가지로 하나 이상의 값들을 담을 수 있는 집합이며, 특이한 점은 담겨지는 객체들(원소라 부르겠습니다)이 별도의 순서를 가지지 않습니다. 대신 모든 값들은 사전 내에서 참조하기 위한 키를 필요로 하며, 이 키를 통해서 저장된 값을 액세스하게 됩니다. 즉 사전의 모든 원소는 키와 값의 쌍으로 취급됩니다. 논리적으로는 (키, 값)의 튜플로 된 리스트와 비슷한 구조라고 생각해도 무방합니다.

사전은 처음이라 더보기

오일러 프로젝트 82

(참고: 이 문제는 81번 문제의 좀 더 어려운 버전입니다)

아래와 같은 5×5 행렬이 있습니다. 맨 왼쪽 열의 아무곳에서나 출발하여 위/아래/오른쪽으로만 움직이면서 맨 오른쪽 열까지 갈 때, 빨갛게 표시된 경로의 합이 994로 가장 작습니다.

31kB 짜리 파일 matrix.txt에는 80×80 행렬의 정보가 들어있습니다. 위와 같은 방법으로 이 행렬의 맨 왼쪽 열에서 출발하여 오른쪽 열까지 갈 때, 경로 합의 최소값은 얼마입니까?

오일러 프로젝트 82 더보기