2014년 5월 5일 월요일

[Python] 공부 20140505

파이썬은 바이트코드를 생성한다.
garbage collection 기능
regular expression 지원
대소문자를 구분한다.

divmod(9, 5)
(1, 4)

경로 확인방법
$which python


  • vim

O : 행 위에 삽입

.py파일의 앞에
#!/usr/bin/python
or
#!/usr/bin/env python -> 이식성을 위해

파이썬 인터프리터 안(혹은 다른 모듈)에서 모듈 파일을 수행하기 위한 방법은 두 가지가 있다.
1) execfile 이용
>>>execfile('modfile.py')

2) import로 수행 -> 이쪽이 바람직한 듯
>>>import modfile
>>>modfile.s      # 모듈 안에 정의된 s를 이용할 수 있다.

연속라인
줄바꾸기 앞의 '\'는 다음 라인을 현재 라인과 연결시켜 주는 역할을 한다.

치환문(assignment), 대입문
>>>a = 1
변수의 형은 우측의 객체에 의해서 결정된다.
한 번에 치환
>>>c, d = 3, 4
>>>x=y=z=0
>>>e=0.3; f=3.4
>>>e, f = f, e        # 값의 교환


  • 이름과 객체
파이썬은 다른 많은 언어와는 달리 변수의 이름과 값 객체가 분리되어 있다. 예를 들어, a = 1이란 문에서 숫자 1이 변수 a에 저장되는 것이 아니다. 파이썬에서는 a를 이름, 숫자 1을 객체라고 하며, 두 개념은 분리되어 있다.
파이썬과 같은 동적인 자료형을 가지는 언어에서는 변수의 생성과 소멸이 언제든지 일어날 수 있기 때문에 이름이 주소로 변환되지 않고 별도의 장소에 이름이 보관되며, 이름과 객체와읭 관계 정보를 추가로 가지고 있다.(소스코드를 기계어 수준으로 번역해서 실행하는 컴파일러언어에서는 이름이 실제 메모리 주소로 변환된다.) 이름이 저장되는 장소를 심볼 테이블(Symbol Table)이라고 한다.


  • eval() 내장 함수

문자열로 된 파이썬 expression(식)을 실행한다.
>>>a=1
>>>a=eval('a+4')
>>>a
5


  • exec

문자열로 된 statement(문)을 수행한다.
>>>a=5
>>>exec 'a = a + 4'
>>>a
9


  • compile (나중에 볼 것)

exec나 eval은 문자열로 입력된 코드를 분석해서 파이썬 컴파일 코드로 변환한다.



  • 콘솔 입력

키보드로부터 문자열을 읽어 들이기 위해서 사용하는 함수는 raw_input이다. 엔터키를 입력할 때까지 읽은 문자열을 리턴한다.
>>>name = raw_input('name?')
name?ildelusion
>>>print name
ildelusion

# 정수나 실수 등의 값을 입력 받기 원한다면
>>>k = int(raw_input('int : '))

>>>i = input('int : ')
# input은 입력된 문자열을 파이썬 식으로 처리해서 넘겨준다.


문자열은 값이 변경되지 않기 때문에 변경을원하면 슬라이싱과 연결하기를 이요앟ㄴ다.
>>>s = 'Hello World!'
>>>s = 'h' + s[1:]
>>>s
'hello World'

멤버십 테스트
>>>'World' in s
True


  • 리스트

>>>L = [1, 2, 3]
>>>len(L)    # 데이터 개수
>>>L[1]      # 두 번째 자료
>>>L[1:3]   # 슬라이싱
>>>L+L
[1, 2, 3, 1, 2, 3]
>>>L*3        # 반복
>>>L.append(4)     # 리스트 마지막에 자료 추가
>>>del L[0]     # 리스트 자료 삭제
>>>L.reverse()      # 리스트 순서를 바꾼다.
>>>L.sort()     # 리스트를 오름차순으로 정렬한다.


  • 튜플

- 튜플의 값은 변경이 안 되고, 리스트는 변경이 가능하다. 튜플은 리스트처럼 다양한 메소드를 가지지 않는다.
>>>t = (1, 2, 3)
>>>len(t)
3
>>>t[0]
1
>>>t(-1)
3
>>>t[0:2]
(1, 2)
>>>t + t + t     # 연결
>>>t * 3      # 반복
>>>3 in t
True

[Ubuntu, putty] vim color

putty에서 우분투에 접속할 때 일부 색상이 검은 바탕에 파란 글씨로 나오길래 설정을 바꿨다.

vim /home/[user_name]/.vimrc

에서

color desert

를 추가하였다.


다음은 현재 사용중인 shell을 확인하는 명령어

echo $SHELL