Python
-
14. 파일Python 2021. 2. 5. 13:43
14.1 파일 입출력 파일쓰기 파이썬의 파일 입출력 기능은 유닉스 것을 그대로 따왔으며 이점은 C도 마찬가지이다. 파일 입출력을 위해 위치를 확인하고 버퍼를 준비해야 하는데, 이 과정을 오픈이라고 한다. 다음 함수로 파일을 연다. open(파일경로, 모드) # 파일을 열어야 파일 속 내용을 조작할 수 있음 # encoding 옵션을 줄 수 있다. # 파일이 있으면 열고, 없으면 새로 만든다. 파일 경로는 입출력 대상 파일의 이름이다. 디렉토리 경로를 포함할 수 있되 파일명만 있으면 현재 디렉토리에서 찾는다. 모드는 읽기, 쓰기, 추가 등 파일로 무엇을 할 것인가를 지정하며, 읽을 파일이 없거나 생성할 파일이 이미 있을 때의 처리 방식을 결정한다. 모드 설명 r 파일을 읽는다. 파일이 없으면 예외 발생. ..
-
13. 예외 처리Python 2021. 1. 30. 17:28
13.1 예외 처리 예외 프로그램 코드는 이상이 없지만 실행 중에 불가피하게 발생하는 문제를 예외(Exception)이라고 한다. 예측이 가능한 오류도 있지만, 예를 들어 사용자에게 직접 값을 입력받을 경우 미리 예측하기 힘들다. 에러 발생 즉시 프로그램이 종료되면, 이후의 명령 또한 무시되기 때문에 이후의 실행도 정상적일 수 없어 강제종료되며 제어권을 잃어버린다. 예외 처리 예외를 막을 근본적인 방법이 없다면 발생 가능한 모든 예외를 처리해야 한다. 예외 처리 구문의 형식은 다음과 같다. try: 실행할 명령 except 예외 as 변수: 오류 처리문 else: # 옵션 예외가 발생하지 않을 떄의 처리 try 문에서 예외가 발생한 경우는 try -> except 순서를 따르며, try 문에서 예외가 발..
-
12. 표준 모듈Python 2021. 1. 30. 17:25
12.1 수학 재사용 가능한 부품, 코드블럭을 모듈이라고 한다. 파이썬에서는 파일이 그러하다. 임포트 모듈은 파이썬 코드를 작성해 놓은 스크립트 파일이며 이 안에 함수, 변수, 클래스 등이 정의되어 있다. 파이썬은 자주 사용하는 기능을 표준 모듈(파이썬에서 제공하는 모듈)로 제공하므로 모든 것을 다 만들어 쓸 필요 없이 가져와 사용하면 된다. 외부의 모듈을 가져와 사용할 때는 import 명령을 사용한다. 이 명령에 의해 모듈에 정의된 코드가 현재 소스로 읽혀진다. 대신 어느 함수가 어느 모듈에 있는지 알아야 쓸 수 있기 때문에 어떤 함수가 어느 모듈에 있는지 알고 있어야 한다. import math print(math.sqrt(2)) # 2의 제곱근 1.4142135623730951 import mat..
-
[error] AttributeError: partially initialized module 'statistics' has no attribute 'mean' (most likely due to a circular import)Python 2021. 1. 29. 17:51
statistics 모듈고 다운로드했고, 당연히 statistics 모듈에 mean 함수가 있을 터인데 no attribute 오류가 계속 떠서 찾아보니 파일 이름을 모듈 이름과 똑같이 지정해놔서 생기는 오류였다. 파일 이름을 모듈 이름과 다르게 다시 지정했더니 해결됐다.
-
Python의 효율적인 반복에 유용한 itertools 함수Python 2021. 1. 28. 23:02
효율적인 반복에 유용한 itertools 함수 itertools란? Python에서 제공하는 자신만의 반복자를 만드는 모듈이다. 패키지 임포트 import itertools 주요 함수 chain(iterable) 리스트(list, tuple, iterable)을 연결한다. import itertools s = ["z", "x", "v"] n = [1, 2, 3, 4, 5] print(list(itertools.chain(s, n))) ['z', 'x', 'v', 1, 2, 3, 4, 5] repeat(object[, times]) object를 times 만큼 반복한다. import itertools n = [1, 2, 3] print(list(itertools.repeat(n, 3))) [[1, 2, ..
-
11. 컬렉션 관리Python 2021. 1. 22. 13:49
11.1 컬렉션 관리 함수 enumerate(for문을 돌리는데 인덱스 정보도 같이 필요할 때) enumerate(시퀀스[, start]) # 시퀀스의 인덱스와 요소를 튜플로 묶어서 순회 # start는 인덱스(순서) 시작 값, 없으면 0부터 디폴트 값 학생들의 성적을 for문으로 하나씩 꺼내어 순회할 때, 요소를 읽기는 편하지만 순서값은 알 수 없다. 성적뿐만 아니라 학생 출석 번호도 같이 출력하고 싶다면 변수를 하나 더 선언한다. 그러나 변수를 매번 초기화하고 루프에서 1씩 증가시키는 일은 번거롭고 코드도 길다. score = [89, 48, 77, 82, 100] for no in range(len(score)): print(str(no + 1) + "번 학생의 성적 :", score[no]) 1번..