분류 전체보기 62

[python 기초 6] python libraries

파이썬이 인기있는 이유 중 하나는 파이썬의 인기 그 자체다. 다양한 application에서 python을 사용하는 많은 사람들 덕분에 다른 사람의 결과물을 가져와 쉽게 사용할 수 있다. Library라고 하는 미리 정의된 코드들 덕분에 개발자들은 일반적인 task를 쉽고 빠르게 수행할 수 있다. 이번 포스팅에서는 python의 라이브러리를 생성하고 불러오는 방법에 대해 배우고, 유명한 라이브러들 몇 가지를 소개한다. 라이브러리 정의 Defining a Custom Library 단순히 미리 정의된 함수나 클래스의 집합 스크립트를 모듈이라고 하는데, 라이브러리는 비슷한 기능들을 하는 모듈의 집합이라고 이해할 수 있다. 라이브러리를 생성한다는 것은 하나의 파일 안에 한개 이상의 .py 스크립트를 작성하는 ..

[python 기초 5] Class

파이썬은 객체 지향(object-oriented) 프로그래밍 언어로 모든 것이 객체로 구성된다. class는 이러한 객체를 만드는 틀이라고 볼 수 있다. class는 데이터와 특정 행동을 모두 포함(encapsulate)하는데 이것은 함수만 사용하는 것에 비해 재사용성이 좋고, 현실의 많은 것들은 데이터와 기능이 함께 존재하기에 현실을 더 현실스럽게 모델링할 수 있다. built-in data type인 int, string 등도 모두 class다. 우리가 필요한 새로운 class를 만든다는 것은 새로운 type을 만든다는 것과 동일한 의미이다. 이러한 설명은 초보자에게 와닿지 않는 것을 알고있다. 모델링 관점에서 class를 이해하면 비슷한 성질과 행동을 하는 객체에 대한 설계도 정도로 이해하고 넘어가..

[python 기초 4] 함수

함수는 프로그래밍의 key concept 중 하나로 반복 사용 될 코드 블럭을 미리 정의해 프로그램에서 반복해 사용할 수 있도록 하는 concept이다. 모든 프로그래밍 언어에도 존재하는 개념으로 python에서는 def 키워드를 사용해 함수를 정의한다. 함수는 입력을 받을 수 있고, 함수 내에 작성된 코드를 수행해 입력에 따른 결과를 반환한다. 경우에 따라 입력, 출력이 없는 경우도 있다. 이번 포스팅에서는 함수를 정의하고 사용하는 방법과 variable scope의 개념에 대해 설명한다. 함수 정의 Defining Functions 아래의 add_number 함수는 두 매개변수(parameter)를 받아 두 값을 더한 결과를 반환하는 예시이다. def add_number(x,y = 3): return..

[python 기초 3] List, Tuple, Set, Dictionary

python 기초 1 변수와 연산자에서 정수형, 실수형, 문자열, boolean의 자료형에 대해 설명했다. 이번 포스팅에서는 list, tuple과 dictionary 자료 구조에 대해 학습한다. 이 자료 구조는 데이터를 저장하는 python의 built-in 자료 구조이지만 활용도는 매우 높다. 리스트 Lists list는 순서가 있는 object의 집합이다. object는 python에서 변수가 지시하는(할당할 수 있는) 모든 것이라고 이해할 수 있다. 리스트는 대괄호([])로 정의해 사용할 수 있다. 정수, 실수 등 기본 자료형, 다른 list, tuple, dictionary, 특정 라이브러리에서 제공하는 numpy array, pandas DataFrame 등 특수한 데이터, 머신러닝 모델 등 ..

[python 기초 2] 프로그램 제어 문법

python뿐만 아니라 다른 프로그래밍 언어에서도 계산기 수준 이상으로 사용하기 위해서 반드시 숙달해야 하는 내용이 이번 포스팅에서 다룰 프로그램 제어 문법이다. 여기서 말하는 제어 문법은 1)조건문과 2)반복문이다. 적절한 조건문을 활용해 수행할 작업을 구분할 수 있고, 반복문을 통해 동일하거나 유사한 작업을 짧은 코드로 처리할 수 있다. 이 포스팅에서는 같은 indent 단계를 가진 몇 줄의 코드를 코드 블럭이라고 하겠다. 조건문 Conditional Statements 조건문은 조건에 따라 수행할 코드 블럭을 설정하는 역할을 한다. python에서는 if, elif와 else가 있다. C 언어 등에서 존재하는 switch - case문은 최초 개발시부터 이후 python 개선 프로젝트에서도 논의가 ..

[python 기초 1] 변수와 연산자

python은 이전 포스팅에서 설명했던 것과 같이 다양한 application에서 사용되고 배우기 쉬운 언어이다. 프로그래밍 언어를 배우는 것은 데이터를 저장하는 변수의 개념을 익히는 것에서 시작된다. 이번 포스팅에서 변수의 개념과 자료형의 종류에 대해 설명한다. 변수 Variable python에서 변수는 데이터를 저장하는데 사용된다. 등호(=)가 변수에 값을 할당하는데 사용이 된다. C나 JAVA와 같은 언어와 달리 사전에 자료형을 선언할 필요 없이 할당하는 순간 자동으로 데이터의 타입(자료형)이 결정된다. x = 5 위의 한줄의 코드로 x라는 변수에 5라는 정수값을 할당했다. 자료형 Data Type python은 몇 가지 built-in data type을 가진다. 그 종류는 정수형, 실수형, 문..

[python의 쓸모] 5가지 유명한 Application: Web 개발부터 AI까지

python는 표현의 간결함, 사용의 편리함과 다양한 역할을 수행할 수 있는 다재다능함으로 가장 인기있는 프로그래밍 언어 중 하나이다. python은 웹 개발에서 머신러닝이나 과학적인 연산까지 다양한 application에서 사용되고 있다. python의 인기는 점차 증가하는 추세로 개발자나 연구자에게 사랑받는 최고의 언어다. 이번 포스팅을 통해 대표적인 python 언어를 활용한 application을 간략하게 소개하고자 한다. 기존에 머신러닝/딥러닝 등 AI나 과학 연산, 통계 시뮬레이션에 활용한 경험이 있는데, 이번 기회에 다른 분야에 조사한 내용을 정리했다. Web Development python은 web 기반 application이나 동적 website를 개발하는데 사용됨다. Django나 F..

[win32com] python으로 pptx 파일 다루기(2) - PPT 요소에 있는 데이터 접근하기

pptx 파일에 문자열 데이터는 text box와 table 형태로 저장될 수 있다. 두 형태 모두 비슷한 경로로 접근해 데이터를 가져올 수 있다. Textbox 글 상자에 존재하는 데이터를 읽는 방법은 textbox shape object에 접근하고 그 안에 있는 TextFrame, TextRange 순으로 접근해 Text 내용을 불러올 수 있다. TextFrame은 text 데이터, text의 양식 property, 양식을 조작할 수 있는 method를 포함하는 object이고, TextRange는 text 데이터와 그 데이터를 조작할 수 있는 method를 포함하고 있는 object이다. slide 내에 text 데이터를 가진 shape의 구조는 아래와 같이 생각할 수 있다. # pptx 파일에서 ..

[win32com] 파이썬으로 pptx 파일 다루기 (1) pptx의 원하는 위치에 접근하기

win32com은 Microsoft Windows OS가 제공하는 API이다. 이를 사용해 MS word, Power Point, Excel, Outlook 등 microsoft office의 제품들 다룰 수 있다. excel, ppt 파일을 더 쉽게 다룰 수 있도록 만들어진 여러 라이브러리들이 있지만, 환경에 따라 사용할 수 없는 라이브러리들이 있는 것 같다. python-pptx를 이용해 사내에서 업무 자동화 프로그램을 개발하려고 했으나 저장되어있는 pptx 파일을 불러오지 못하는 오류가 있어 win32com를 사용하게 되었다. PPT에 있는 데이터에 접근하기 지금까지 필요한 기능들은 pptx 파일에 저장된 데이터를 읽어 활용하는 것이라 원하는 데이터를 어떻게 받아올 수 있을지에 대한 고민을 정리한다..

[xlwings] 파이썬으로 excel 파일 다루기 (2) 여러 개의 파일과 시트 다루기

엑셀 작업을 할 때 여러 개의 파일이나 시트의 정보를 참조 및 활용해야 하는 경우가 있다. 이번 포스팅에서 새로운 시트를 만들거나 지우고, 하나의 파일에 있는 데이터를 다른 파일이나 시트에 옮기는 예시를 작성해보려고 한다. 시트 생성과 제거 workbook을 생성하고 파이썬을 통해 값과 수식을 입력해 계산한 값을 새로운 시트를 생성해 그 곳에 저장하는 예시를 작성했다. line 7은 엑셀 프로그램을 실행하고 여러 개의 엑셀 파일을 효과적으로 다룰 수 있도록 해준다. 완성된 프로세스를 실제로 사용할 때 엑셀 창을 띄우지 않고 작업을 수행할 때는 반드시 필요하다. line 9의 코드가 새로운 시트를 생성하는 코드이다. add의 argument로 after나 before로 새로 생성 될 시트의 위치를 지정해준..