프로그래밍 언어에서 '이름'은 어떠한 값이나 객체를 가리키는 구분자이다. 따라서 기본적으로 다른 값이라면 다른 이름으로 참조되어야 하는 것이 맞다. 그렇지 않은 경우라면 이름에 대해 충돌이 발생하고 코드는 실행되지 못하거나 예기치 않은 방식으로 동작하게 될 것이다.하지만 이는 이상적인 경우를 상정했을 때이고, 실질적으로는 모든 이름이 유니크할 수는 없다. 심지어 제 3자가 작성한 모듈을 사용해야 하는 경우에는 외부 모듈에서 사용되는 모든 심볼 이름을 체크해서 이름 충돌을 피하는 것은 사실상 불가능하며, 공통 클래스의 서로 다른 인스턴스들도 내부에는 같은 이름의 어트리뷰트를 가지고 있기도 하다. 그래서 많은 언어들은 "이름 공간"이라는 것을 도입하여 한정된 범위에서만 이름에 대한 충돌이 발생하지 않는 선에..
파이썬의 사전 타입 사전은 파이썬에서 기본적으로 제공되는 유일한 맵핑 혹은 해시테이블 타입이다. 사전은 특정한 요소를 찾기 위해 키(key)를 사용한다. 보통은 문자열을 키로 사용하는데, 기본적으로 '변경 불가능'한 파이썬의 기본 타입들은 모두 키가 될 수 있다. (문자열, 정수, 실수, 튜플) 사전 만들기 사전을 생성하는 방법은 다음과 같은 것들이 있다. dict() 생성자 함수를 이용한다. 사전 리터럴을 이용한다. 사전 리터럴은 중괄호 속에 키: 값(콜론으로 구분)의 쌍을 다시 컴마로 구분하여 적는 것이다. dict() 함수를 이용한다면 (키, 값)으로 구성된 튜플의 연속열을 인자로 주면 된다. d1 = { 'a':1, 'b':2, 'c':3, 'd':4 } d2 = dict([('a', 1), ('..
튜플 튜플(tuple)은 두 개 이상의 값을 하나의 단위로 묶는데 사용된다. 튜플의 각 원소는 순서를 가질 수 있으며, 값의 타입에 구애받지 않는다. 또한 튜플은 리스트와 달리 변경이 불가능한 객체이다. 튜플의 각 원소는 인덱스에 의해 참조 가능하기 때문에, 익명의 자료 구조로서도 활용이 가능하다. birthday = (1990, 8, 31) year = birthday[0] month = birthday[1] day = birthday[2] 튜플은 "변경할 수 없는" 객체라 하였다. 이는 튜플의 구성 요소에 대해서 원소를 삽입/삭제/교환할 수 없다는 의미이다. birthday[1] = 9 ----------------------------------------------------------------..
iPython 설치하기 iPython은 파이썬의 기본 대화형 쉘의 기능을 향상 시킨 도구이다. 단순한 편의 기능이 몇 가지 추가된 수준이 아니라 최적화, 디버깅, 코드 편집과 탐색에 있어서 많은 양의 개선된 기능들을 포함하고 있다. tab 키를 통한 자동 완성 여러 줄에 걸친 코드 편집 기능 강화 문법에 따른 색상 강조 대화형 쉘 내에서 OS쉘의 명령을 즉시 호출 명령 수행 시간 및 속도 측정 도구 포함 특정 심볼에 대한 빠른 도움말 탐색 또한 iPython은 단순히 명령줄에서 실행되는 대화형 쉘을 개선하는 과정에서 파이썬 커널과 입출력 부분을 분리했다. 따라서 입출력 부분을 웹서버로 떼어내어 개발한 노트북이라는 기능도 별도로 제공한다. 이 노트북은 웹 브라우저 상에서 파이썬 코드를 셀별로 작성하여, 각..
맵과 필터는 리스트의 원소에 특정한 함수를 적용하여, 리스트의 내용을 바꾸는 조작이다. 실제로는 리스트 축약(List Comprehension) 문법으로 대체하여 더 많이 사용되기 때문에 함수의 사용법 자체는 사실 크게 중요하지 않을 수 있다. 하지만 리스트를 맵과 필터 (그리고 리듀스)를 이용해서 조작하고 다루는 방식은 이른바 함수형 패러다임에서 가장 기본적이고 중요한 멘탈 모델이기 때문에 익혀둘 필요가 있다. 물론 파이썬이 함수형 언어는 아니지만, 이 개념에 익숙해지면 코드를 더욱 간결하고 쉽게 짤 수 있는 기본기를 갖게 된다. 사상(mapping) 맵과 필터에서 가장 기본이 되는 개념은 바로 맵핑 그 자체이다. 함수를 입력을 받아 데이터를 가공하고 출력하는 장치로서 이해하는 개념이 일반적인데1, 이..
reduce 사용하기 reduce 함수는 리스트의 원소들을 중첩하여 하나의 값으로 만드는 과정을 처리하는 함수이다. 이 함수는 functools 모듈내에 정의되어 있으므로 사용을 위해서는 해당 함수를 import 명령으로 반입해야 한다. from functools import reduce reduce 함수는 세 개의 인자를 받는데, 첫 번째 인자는 두 개의 인자를 받아서 1개의 값을 리턴하는 함수이다. 두번째 인자는 리스트이다. 세번째 인자는 초기값이다. 주어지지 않은 경우, 리스트의 첫 번째 원소를 사용한다. reduce 함수의 동작 원리에 대해서 조금 짚고 넘어가자. 사실 많은 예를 접해서 이 함수가 어떻게 돌아가는지를 보고 나면 감을 잡을 수 있는 부분이기도 하다. reduce 함수는 특정한 결과값..
파이썬은 참 쉽고 재밌는 언어다. 개발자가 아닌 나로서도 처음 파이썬을 설치하고 몇 시간 사이에 이것 저것 뚝딱 뚝딱 만들 수 있으니 말이다. 게다가 어지간한 모듈은 이미 다 만들어져 있는 거나 마찬가지라서 추가만해주면 못할 것이 없는 듯 하다. 재밌는 것은 파이썬 코어는 최소한의 기능만을 제공하고 대부분의 기능이 확장 기능이라 할 수 있는 모듈로 구성되어 필요한 요소만 코드에 추가하여 사용할 수 있다는 점이다. 이러한 모듈들은 기본 라리브러리로 제공되는 것들도 있고, 그렇지 않아서 별도로 내려받아 설치해야 하는 것들이 있다. 이 글에서는 파이썬 스크립트를 exe 실행파일로 만들어주는 py2exe 모듈을 설치하는 방법에 대해 살펴본다. 대부분의 파이썬 모듈이 거의 같은 방법으로 설치되므로 참고하는 것이 ..
포터블 파이썬 홈페이지 >> http://www.portablepython.com/ 포터블 파이썬은 파이썬 인터프리터를 포함한 몇 가지 툴을 일반 폴더 내에서 실행가능하도록 환경 설정을 손보아 USB에서도 실행 가능하도록 만들어 놓은 패키지이다. 즉 USB 상에 설치해 놓으면 파이썬이 설치되지 않은 PC에서도 파이썬 스크립트를 실행하거나 직접 코드를 만들 수가 있다. 포터블 파이썬은 파이썬 인터프리터 및 기본 모듈 외에도 요즘 잘나가는 웹 프레임워크인 Django, GUI를 입힐 수 있는 wxPython, 게임 프로그래밍에 사용되는 Pygame, 공학 계산에 사용되는 Numpy 등의 모듈을 이미 포함한 상태이며, PyScripter, PSE와 같은 파이썬에 어울리는 통합 개발 환경(IDE)의 포터블 버전..
- Total
- Today
- Yesterday
- Python
- 리눅스
- 우분투
- 정렬키
- 표준입력
- 이중리스트를 사용하지 않기
- globals()
- 파이썬노트북
- ipython-notebook
- Lambda
- jupyter-notebook
- 사전
- 반복자
- locals()
- 리스트
- 파일입출력
- iterable
- 정렬기준
- leapYear
- python list
- 복수기준정렬
- sorted
- mutability
- 단어 빈도수
- 함수형
- 변경가능
- 파이썬
- dict
- 튜플언패킹
- short_circuit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |