
open() 은 파일 객체를 리턴하고 두 개의 인자를 주는 방식이 보통 사용된다. (open(filename, mode) MODE r : 읽기모드, 파일이 존재하지 않으면 error r+ : 읽기 또는 쓰기모드, 파일이 존재하지 않으면 error w : 쓰기모드, 파일이 존재하지 않으면 생성 w+ : 읽기 또는 쓰기모드, 파일이 존재하지 않으면 생성 a : 파일추가(파일포인터가 파일의 끝으로 이동)로 쓰기모드, 파일이 존재하지 않으면 생성 a+ : 읽기 또는 파일추가모드, 파일이 존재하지 않으면 생성 OPTION t : 텍스트모드로 파일을 open b : 바이너리모드로 파일을 open 파일객체를 다룰 때 with 키워드를 사용하는 것이 좋다. 프로그램 중간에 예외가 발생하더라도 파일이 정상적으로 cols..

포맷 문자열 리터럴 ('f' 나 'F' 를 앞에 붙인 문자열 리터럴) 을 사용하려면, 시작 인용 부호 또는 삼중 인용 부호 앞에 f 또는 F 를 붙여 문자열을 시작해야한다. 이 문자열 안에서 { 와 } 사이에 변수 또는 리터럴 값을 참조할 수 있는 파이썬 표현식을 사용한다. >>> year = 2016 >>> event = 'Referendum' >>> f'Result of the {year} {event}' 'Result of the 2016 Referendum' 문자열의 str.format() 메소드를 이용하면 조금 더 다양한 표현이 가능하다. 변수가 될 위치를 표시하기 위해 { 와 } 를 사용하고, 자세한 포맷팅 디렉티브를 제공할 수 있지만, 포맷할 정보도 제공해야 한다. >>> yse_votes ..

def 로 정의한 함수들은 인터프리터를 재시작하면 그 정의가 사라진다. 함수를 별도 파일에 넣고 스크립트가 인터프리터의 대화형 모두에서 사용할 수 있는데, 이러한 파일을 모듈이라고 한다. 즉, 모듈은 파이썬 정의와 문장들을 담고 있는 파일이다. fibo.py 라는 파일을 만들고 아래 내용을 작성한다. def fib(n) : # n 까지의 피보나치 수열 출력 a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a+b print() def fib2(n) : # n 까지의 피보나치 수열 리턴 result = [] a, b = 0, 1 while a < n: result.append(a) a, b = b, a+b return result fibo.py 파일이 존재하는 ..

딕셔너리를 이용하여 루핑할 때 items() 메소드를 이용하면 키와 값을 동시에 얻을 수 있다. >>> knights = {'gallahad': 'the pure', 'robin': 'the brave'} >>> for k, v in knights.items(): ... print(k, v) ... gallahad the pure robin the brave 시퀀스를 루핑할 때 enumerate() 메소드를 사용하면 위치 인덱스와 대응하는 값을 동시에 얻을 수 있다. >>> for i, v in enumerate(['tic', 'tac', 'toe']): ... print(i, v) ... 0 tic 1 tac 2 toe 둘이나 그 이상의 시퀀스를 동시에 루핑할때 zip() 메소드로 엔트리 쌍을 만들 수..