Python/Python 개념24 파이썬 파일 처리하기 파이썬 파일 처리하기 파이썬에서는 파일을 처리하기 매우 쉽고 편합니다. 파일입출력을 통해 파일에 있는 글을 읽어서 입력을 하고 또한 결과값을 메모장과 같은 파일에 저장하는 프로그램을 만들 수 있습니다. 먼저 파일을 생성하기 위한 간단한 코드를 살펴 보겠습니다. 파일 객체 = open(파일 이름, 파일 열기 모드, encoding) ## 예시 f = open('test001.txt','w',encoding="utf8") 여기서 'w'는 파일을 쓰기위한 쓰기 모드입니다. 파일 열기 모드에는 다음과 같은것들이 있습니다. 파일 열기 모드 설명 r 읽기 모드 - 파일을 읽기만 할 때 사용 w 쓰기 모드 - 파일에 내용을 쓸 때 사용 a 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용 r+ 읽기와 쓰기.. 2020. 12. 7. 파이썬 반복과 이터레이터 파이썬 다운 반복문 파이썬 답지 않게 처리하기 먼저 파이썬의 반복문을 C언어나 자바를 사용한 사람들은 다음과 같이 사용하는 것을 확인할 수 있습니다. data = [1,2,3,4,5] i = 0 while i 2020. 9. 22. 파이썬 자료구조(심화)-2 스택(LIFO) 스택은 삽입과 삭제를 LIFO(후입 선출)방식으로 빠르게 처리해 주는 객체 컬렉션 입니다. 삽입과 삭제 작업은 주로 push와 pop으로 진행합니다. 스택이 활용 되는 곳은 런타임 메모리 관리, 트리나 그래프에서 깊이 우선 탐색(DFS)가 있습니다. 이제 파이썬에서 스택을 구현할 수 있는 방식을 살펴보겠습니다. 간단한 내장 스택 방식인 list 이 부분은 전에 list에 대해 설명한 파트가 있어서 URL을 통해 남겨두겠습니다. list 개념 https://hyun-am-coding.tistory.com/entry/Python-List?category=778330 list 시간복잡도 https://hyun-am-coding.tistory.com/entry/Python-list-연산에-따른-.. 2020. 9. 17. 파이썬 자료구조(심화)-1 파이썬 기본적인 자료구조 먼저 기본적으로 앞에서 list, tuple, dict을 설명했습니다. 이제 다른 자료구조와 앞에서 배웠던 자료구조 기반으로 만들어진 라이브러리 자료 구조를 확인하겠습니다. Dict 기반 자료구조 collections.OrderDict 먼저 파이썬 3.6버전 이전에는 dict에 데이터를 삽입해도 순서대로 저장된다는 보장이 없었습니다. 그래서 OrderDict를 사용했는데 요즘 3.6 버전 이후에 dict는 OrderDict의 기능을 가지고 있어서 굳이 OrderDict를 사용 안해도 순서대로 저장이 됩니다. 하지만 만약 키의 순서를 매우 중요하게 여기는 경우 OrderDict로 dict를 선언하는 것을 추천합니다. OrderDict는 키의 삽입 순서를 유지하는 Dict의 서브 클.. 2020. 9. 16. 얕은 복사와 깊은 복사 얕은 복사와 깊은 복사 개요 파이썬의 할당문은 객체의 사본을 만들지 않으며 이름만 연결합니다. 변경할 수 없는 객체의 경우에는 일반적으로 차이가 없습니다. 하지만 만약 변경 가능한 객체 또는 변경 가능한 객체의 컬렉션(collection)을 다룰때면 이러한 객체의 '실체 사본' 또는 '복사본'을 만드는 방법이 필요할 수 있습니다. 이제 파이썬에서 객체를 복사하거나 '복제'하는 방법과 이때 주의할 사항을 몇가지 설명하겠습니다. 먼저 파이썬에 내장된 기본 컬렉션을 복사하는 방법을 보겠습니다. 내장된 기본 컬렉션은 list, set, dict가 있습니다. 이것들은 팩토리 함수에 건내 복사할 수 있습니다. sample_list = list(original_list) sample_dict = dict(origin.. 2020. 9. 16. *args와 **kwargs *args와 **kwargs를 이용하면 좋은점 먼저 이 두가지를 이용하면 함수가 선택적 인자를 받아들일 수 있으므로 모듈 및 클래스에서 유연한 API를 만들 수 있습니다. 먼저 간단한 함수 하나를 만들겠습니다. def foo(required, *args, **kwargs): print(required) if args: print(f'args 호출 : {args}') if kwargs: print(f'kwargs 호출 : {kwargs}') 함수 앞에는 최소한의 'required'라는 인자 하나를 필요로 하지만 추가 위치 인자와 키워드 매개 변수도 추가로 사용할 수 있습니다. 이제 추가 인자를 사용하여 함수를 호출하면 매개 변수 이름 앞에 * 접두사가 있어서 args가 여분의 위치 인자를 튜플로 수집합니다.. 2020. 9. 14. 이전 1 2 3 4 다음