반응형

프로그래밍/python3.x-library 5

파이썬(python) pip 명령 옵션 활용

pip install을 통해 많은 패키지를 설치해 왔을 것이다. 하지만 pip을 좀 더 활용하면 편리한 개발환경을 만들 수 있다. 보통 프로젝트가 커지면 가상환경을 많이 사용한다. (가상환경에 대한 정보가 필요하시다면 이 블로그의 387번 글을 참고하세요.)pip을 제대로 활용하면 가상환경 설정시 자신의 개발환경에 맞고 필요한 패키지를 한번에 설치할 수 있다. 버전역시 골라설치할 수 있다.이렇게 하는 이유는 다들 아시겠지만 같은 패키지라도 버전에 따른 의존관계가 변하거나 버그등의 문제가 있을 수 있기 때문이다. 따라서 프로젝트를 제대로 관리하는 첫번 째는 개발환경을 항상 동일게 유지하는 것이라 할 수 있겠다.이제부터 pip에 대한 정리를 할 것인데 유용한 정보가 되길 바란다.pip installpip i..

파이썬(python) numpy 의 array(ndarray)와 matrix 데이터 타입

numpy는 numerical python의 약자로 수치를 다루는 분야를 위한 패키지로서 아주 유명하다. 이 패키지에 포함된 array와 matrix와 같은 자료구조는 수치를 다루는 데 있어서 기본적인 자료구조(데이터 타입)다.방대한 양의 데이터를 다루거나 할 때 다차원 배열(ndarray)를 사용하거나, 행렬(matix)를 다룰 때 matrix 를 사용할텐데 ndarray와 matrix는 서로 차이점이 있지만 양방향 캐스팅(변환)이 가능하다.기본 파이썬 데이터 타입 역시 ndarray 타입이나 matrix 타입으로 직관적인 캐스팅이 가능하다.numpy에 대한 자세한 메뉴얼은 공식 사이트에서 살펴보면 될 것이다. numpy의 설치는 따로 하지 않고 파이썬 아나콘다 버전을 설치하여 해결하였다.파이썬 아나콘..

동적 계획법 functools.lru_cache 장식자

동적 계획법(dynamic programming)이란 말은 수학에서 유래한 용어이다. 의미를 살펴보면 프로그래밍 언어에서 말하는 동적(dynamic), 정적(static)이란 말과는 구별을 두어야 할 듯 싶다. 동적 계획법은 일종의 최적화 기법으로 어떤 문제를 부분적으로 나눌 수 있을 때 중복되는 문제해결 과정을 재사용하여 계산을 최적화 하는 기법이다. 이를 메모이제이션(memoization)이라고 한다. 예를 들어 어떤 문제집합을 풀 때 func(1,2)라는 호출이 여러번 있다면 func(1,2)라는 호출에 대한 결과를 캐시에 저장해 놓고 다음 호출 부터는 캐시에 있는 결과값을 바로 얻는 방식이다. 단 이 경우에 func(1, 2)라는 값은 언제나 동일함을 보장해야 한다. 가장 쉬운 예로는 피보나치 수..

파이썬 달력 모듈 calendar 사용법

파이썬에서 기본적으로 제공되는 달력 모듈인 calendar에 대한 정리! calendar 모듈은 표준 모듈로 달력과 관련된 유용한 함수, 클래스들을 포함하고 있다. 달력 출력하기이번달(오늘이 포함된) 달력을 그려보려면 어떻게 할까? 함수를 이용하는 방법을 먼저 알아보자. month(year, month) 함수로 해당 년(year), 월(month)에 해당하는 달력이 문자열로 출력된다. print로 이 문자열을 출력하면 달력 형식에 맞게 출력된다. 애초에 다음과 같이 prmonth함수를 사용해도 된다. 그런데 달력을 제대로 사용하려면 calendar 모듈이 제공하는 클래스를 사용해야 한다. 위와 같은 작업을 클래스로 해보겠다. 달력을 현지화(요일이름을 사용자 언어에 맞게) 시키고 싶다면 다음과 같이 하면 ..

파이썬3 개별 프로젝트를 위한 가상환경 설정(윈도우)

파이썬을 설치한 후 다양한 패키지들을 설치해봤을 것이다. 주로 pip으로 설치하는데 파이썬은 개발주기도 빠르고 패키지도 패키지 버전에 따라서 호환이 안되거나 하기 때문에 패키지 버전을 신경써줘야 한다. 예를 들어 여러개의 프로젝트를 하다가 어떤 프로젝트에서 특정 패키지의 최신 버전이 필요하다고 해서 함부로 업데이트를 한다면 해당 패키지를 사용하는 다른 프로젝트가 먹통이 될 수도 있을 것이다. 이 밖에도 다양한 이유로 파이썬에서는 가상환경이 유용하기 쓰인다. 파이썬 3.3부터인가? 그 전까지는 virtualenv를 설치해서 독립된 개발환경을 설정할 수 있다. 3.3이후로는 venv라는 표준라이브러리가 이 역할을 대신한다. 우선 간단히 사용방법을 정리해보자. 가상환경 만들기 명령 프롬프트에서 다음 명령을 입..

반응형