일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 국산 네트워크
- Python3
- project euler
- virtualenvwrapper
- 프로젝트 오일러
- 주피터
- IO Visor
- Euler
- Hash Table
- FNCP
- 파이썬3
- Ipython
- Anaconda
- Python
- jupyter
- linked list
- 피보나치 수
- 파이썬
- 다이나믹 프로그래밍
- data structure
- Hash function
- ubuntu
- 우분투
- 문자열
- django framework
- virtualenv
- Django
- KTNF
- 아나콘다
- 백준 알고리즘
- Today
- Total
목록Python (7)
태코놀로지
3.1 Exploring a dataset in the Notebook실습을 위해서 사용할 데이터는 약 18GB에 달하는 데이터의 일부를 추출해서 작게 만든 약 200MB의 csv 타입의 파일이다. 해당 파일을 마이크로소프트 엑셀을 이용해서 확인해보면 아래와 같이 뉴욕시 택시 운영에 대한 다양한 정보를 확인할 수 있다. nyc_data와 nyc_fare 두 가지 파일이 있으며, 그 중 nyc_data는 약 150MB의 크기로 850,000의 행을 지닌 데이터로 아래의 그림과 같이 데이터 집합이 구성되어 있다. 이 정도 양의 데이터를 사용하면 연산 결과를 가시적으로 확인하기에 충분하다. 이 밖에도 국내 정부에서 제공하는 공공데이터도 다양하다. 공공데이터 포탈에서 확인해보면, 약 20,000개의 공공 데이터..
2.5 Functions and Generators파이썬은 다른 언어에 비해 인자(argument) 처리에 있어서 유연한데, 파이썬에서 자주 사용하는 위치 인자 및 키워드 인자에 대해서 알아본다. 인자의 가장 익숙한 형태는 값을 순서대로 상응하는 매개변수에 복사하는 위치 인자(positional arguments)다. 이는 매우 일반적이지만 각 위치의 의미를 사전에 알고 있어야한다는 단점이 있다. 위의 위치 인자가 가지는 문제점을 보완하기 위해서 제공하는 것이 바로 키워드 인자(keyword arguments)다. 키워드 인자는 순서에 상관없이 인자를 매개변수에 복사할 수 있다. 위치 인자와 키워드 인자로 함수를 호출한다면 위치 인자가 먼저 와야 한다. 그러나 보다 파이써닉한 방법에서는 위치 인자와 키워..
2.2 List, Tuple, Dictionary, and Set이번 시간에는 파이썬이 제공하는 네 가지 서로다른 타입의 자료구조에 대해서 알아보고, 각 구조가 갖는 특징에 대해서 알아보자. 파이썬에는 리스트, 튜플, 사전(dict), 집합(set) 자료구조가 있다. 그리고 각 자료구조마다 데이터에 접근하는 방법 및 데이터를 추가/삭제하는 방법이 상이하게 다르다. 또한 자료구조가 갖는 특징에 따라서 데이터의 변경 유무의 차이점도 있다. 따라서 대표되는 네 가지 자료구조의 특/장점과 어떤 상황에 사용해야 적합한 지 파악할 필요가 있다. 리스트, 튜플, 사전, 집합 자료구조 순서에 따라서 각 자료구조의 특징 및 대표되는 함수 호출에 대해서 정리해본다. 리스트(List) 자료구조파이썬이 제공하는 시퀀스 자료구..
2.1 Numbers and Strings파이썬에서 자주 사용되는 자료형에 대해서 알아보면, 대표적으로 int, float, str, list, tuple, dict, set 등이 있겠다. 그중에 list, tuple, dict, set의 경우 리스트, 튜플, 사전, 집합 자료형과 대응되는 형태로 이들에 대해서는 다음 강의에서 좀 더 세밀하게 다룬다. 이번 강의에서는 앞에서 언급했던 자료형중 숫자를 표현하기 위해서 사용하는 int와 float, 그리고 문자열을 나타내는 str 타입에 대해서 알아본다. 각 타입에 따라서 사용할 수 있는 함수 및 기능에서 차이점이 있다. 이 차이점에 주목하여 타입별로 가진 특징을 확인해보자. 일단 기본적으로 파이썬에서 제공하는 타입에 대해서 확인해보자. 'type' 함수를 ..
1.5 Ten Jupyter/IPython essentials이번 강의에서는 Jupyter(이하 주피터)/IPython에서 자주 사용하는 명령어에 대해서 알아본다. 리눅스 터미널에 익숙하다면 해당 과정은 매우 쉽게 느껴질 것이다. 먼저 파이썬 노트북에서 북마크 기능을 수행해보자. 북마크 기능은 웹 브라우저에서의 북마크 기능과 동일하다. 자주가는 곳을 미리 지정해놓고, 북마크를 통해서 정해놓은 곳으로 이동할 수 있다. 북마크는 '%bookmark bookmark_name' 으로 생성가능하다. 그 이후에는 'cd bookmark_name' 명령어를 통해서 북마크로 이동이 가능하다. 이처럼 주피터에서 제공하는 기능중에는 리눅스에서 동작하는 명령어 일부를 사용할 수 있다. 이 기능은 Pycharm IDE에서도 ..
1.4 A crash course on Python 개발 환경 구성 및 기능 확인을 마쳤으니, 이제부터 본격적으로 파이썬 코드를 작성해보고 실행시켜보자. 코드 작성에 앞서, 주피터에서 새로운 파이썬 노트북을 생성하고, 파일의 제목을 'A crash course on Python'으로 변경한 뒤 이번 장에서 작성할 코드를 입력해보자. 가장 먼저 이전 강의에서 해봤던 'Hello World' 출력을 해보자. 표준 출력에 대한 가장 기본적인 함수 print를 사용하면 손쉽게 진행할 수 있다. 이어서 간단한 사칙연산과 함께, 변수에 값을 할당해서 계산해보자. 파이썬에서는 한 라인에서 한 개 이상의 변수를 선언 및 값을 할당할 수 있다. 1장에서 언급했던 것 처럼 변수 선언 시 타입에 대한 입력을 강제하지 않기 ..
virtualenv를 활용한 독립 개발 환경 구축 virtualenv는 외부라이브러리들이 서로의 버전이 맞지 않아 발생하는 문제점을 방지하기 위해, 혹은 불필요한 라이브러리를 프로젝트에 포함하지 않도록 독립된 파이썬 가상 환경을 만들어주는 툴이다. Django 기반의 웹 프로젝트를 진행할 때에도 사용되는 다양한 라이브러리가 존재하기 때문에 이들 사이의 충돌 및 버전에 따르는 의존성을 피하기 위해서 virtualenv 환경에서 작업하는 것을 권장한다. ubuntu-14.04.3-desktop-amd64 이미지로 설치한 우분투 환경에서의 virtualenv 독립 개발 환경 구축 방법에 대한 내용을 간략하게 다룬다. virtualenv 설치를 위해서는 사전에 설치되어야하는 파이썬 패키지(python-pip 등..