1. Python 표준 라이브러리
Python에서는 다양한 라이브러리들을 사용할 수 있다. 라이브러리란, 사전에 누군가가 정의한 함수를 우리가 가져와 사용하는 것을 말한다. 그 중에는 파이썬에서 기본적으로 제공되고, 파이썬을 설치할 때 함께 설치되는 라이브러리가 있는데 해당 라이브러리를 표준 라이브러리라고 한다. 라이브러리를 사용하는 방법에 대해 알아보자.
import 라이브러리명
import pandas as pd
# as 키워드를 통해 사용하기 쉬운 단어로 교체 후 사용
from calendar import promonth
# from 키워드를 통해 불필요한 라이브러리 호출을 방지
'import' 키워드를 통해서 원하는 라이브러리를 자신의 코드에서 사용할 수 있게 해준다. import 키워드를 사용하면 자신이 개발한 코드의 함수를 가져와서 사용하는 것도 가능하다. import 키워드와 함께 사용할 수 있는 예약어에는 두 가지가 있다.
먼저 'as'키워드이다. 라이브러리를 사용하기 위해서는 '라이브러리명.함수명'으로 사용하는 경우가 대다수이다. 이때 라이브러리 명을 간략히 사용하는 등의 기능을 수행하기 위해 'as'키워드를 사용한다.
'from'키워드는 라이브러리라는 함수, 메서드, 클래스 등의 기능들의 집합에서 목적에 맞는 기능만을 import 할 수 있게 도와준다. 'from'키워드를 사용함으로써 불필요한 라이브러리 혹은 기능들을 호출하지 않을 수 있다는 장점이 있다.
2. 객체 지향 프로그래밍
라이브러리에 대해 이야기하다 보면 객체 지향 프로그래밍에 대한 것을 알 수 있다. 먼저, 객체 지향이란 클래스를 정의함으로써 새로운 데이터 타입을 만드는 것으로 이해할 수 있다. 하지만 객체 지향 프로그래밍은 단순히 새로운 데이터 타입을 만드는 것 이상의 개념을 포함한다. 먼저 클래스와 객체에 대해 알아두면 좋다.
- 클래스: 객체를 생성하기 위한 설계도 또는 청사진이라고 할 수 있다. 클래스에서는 속성과 메서드를 정의한다.
- 객체: 클래스의 인스턴스. 객체는 클래스에서 정의한 속성과 메서드를 가지며, 구체적인 데이터를 포함하게 된다.
클래스는 객체를 생성하기 위한 설계도라고 했는데, 이 설계도 대로 설계해서 만들어낸 결과물을 객체라고 한다. 그림을 보면 별모양 쿠키를 찍어낼 수 있는 쿠키 틀이 있고, 쿠키 틀로 찍어낸 별모양 쿠키들이 있다. 이 처럼 클래스에 속성들을 정해두면, 정의한 속성들에 맞는 인스턴스들을 여럿 생성할 수 있다. 클래스와 객체에 대한 내용은 다른 게시물에서 자세히 다뤄보기로 하자.
지금까지 객체 지향을 위한 기반에 대해서 알아봤다면 객체 지향의 핵심 개념에 대해 알아보자.
- 캡슐화: 객체의 속성과 메서드를 하나로 묶고, 객체의 내부 상태를 외부에서 접근하지 못하도록 보호한다. 이를 통해 데이터의 무분별한 수정을 막을 수 있다.
- 상속: 하나의 클래스가 다른 클래스의 속성과 메서드를 물려받는 것. 이를 통해 코드 재사용성을 높이고, 클래스 간의 계층구조를 형성할 수 있다.
- 다형성: 동일한 메서드가 다른 객체에서 다르게 동작할 수 있도록 지원하는 것. 이는 메서드 오버라이딩을 통해 구현할 수 있다.
- 추상화: 복잡한 시스템에서 핵심적인 개념이나 기능 등을 간단히 표현하는 것. 추상화를 통해 불필요한 세부사항을 숨기고, 시스템의 주요 기능에 집중할 수 있다.
상속에 대한 이야기를 조금 더 해보자면, 우리는 일상에서 재산 상속이라는 단어를 몇번 들어봤다. 이때의 개념과 유사하다. 클래스에는 부모 클래스와 자식 클래스가 있다. 자식 클래스는 부모 클래스의 상속을 받아 부모 클래스에서 구현하지 못한 속성들을 추가할 수 있다. 이를 클래스의 상속이라고 한다.
이번 교육과정에는 객체 지향에 대한 개념을 겉핥기식으로 배웠지만 대학교에서 배운 내용을 잊지 않기 위해 정리하는 것이다.
3. 파일 경로
파일의 경로에 대해서 살펴보자. 해당 내용도 수업시간에 잠깐 알아보고 지나갔지만 알아보면 좋으니 살펴보자. 파일의 경로는 크게 두 가지로 나뉜다. 절대 경로와 상대 경로. 이 둘을 나누는 기준은 가장 최상위 폴더에서부터 시작한 경로를 표시했는지, 현재 위치 폴더부터 시작한 경로를 표시했는지 이다.
이렇게 절대경로와 상대경로에는 차이가 있고, 경로를 표시하는 방법마다 장단점들이 있다.
먼저 절대경로는 파일의 위치를 명확하게 지정하므로, 경로가 혼동될 가능성이 매우 적다. 또한, 작업 위치에 상관 없이 항상 동일한 파일을 가리키기 때문에 다른 디렉토리에서 실행되는 프로그램에서도 사용가능하다. 마지막으로 파일의 경로가 변경되지 않는 한 항상 정확한 파일에 접근할 수 있다. 반대로 경로가 고정되어 있어 프로그램을 다른 디렉토리로 옮길 시 경로를 수정해주어야 하고, 길이가 긴 절대 경로는 가독성을 떨어뜨리고, 입력과 관리에 어려움이 있을 수 있다. 운영체제마다 파일 시스템 구조가 다른데, 절대 경로는 다른 운영체제에서 유효하지 않을 수 있다.
상대경로의 장단점은 파일 시스템 내에서 파일이나 디렉토리의 이동에 유연하게 대처할 수 있다. 한 가지의 프로젝트를 다른 위치로 이동하여 실행하더라도, 디렉토리의 구조가 유지된다면 경로가 유효하다. 프로젝트를 다른 디렉토리나 다른 컴퓨터로 옮길 시 상대경로는 유효성을 유지하기 때문에 이식성이 높다. 절대경로에 비교했을 때 경로의 길이가 짧아 가독성이 좋아지고, 관리가 쉬워진다. 하지만, 현재 작업 디렉토리에 따라 상대경로가 바뀔 수 있다는 점과, 작업 디렉토리에 의존하기 때문에, 실행 환경이 달라진다면 경로 문제가 발생할 수 있다. 마지막으로 가독성이 떨어질 수 있다는 점이다. 절대 경로와는 다른 가독성의 저하인데, '..'을 사용하여 상위 디렉토리로 이동하는 경우에는 가독성이 떨어질 수 있다.
지금까지는 파이썬의 기초를 배웠다면, 앞으로는 데이터 분석에 필요한 기술들을
익히게 될 예정이라 기대되는 부분이다.
'ABC부트캠프 데이터 탐험가 과정' 카테고리의 다른 글
[8일차] ABC 부트캠프 Pandas를 이용한 데이터 분석 1 (2) | 2024.07.15 |
---|---|
[7일차] ABC 부트캠프 파이썬 데이터분석 및 Pandas 모듈 (2) | 2024.07.13 |
[5일차] ABC 부트캠프 파이썬 기초지식 3 (1) | 2024.07.10 |
[4일차] ABC 부트캠프 파이썬 기초지식 2 (0) | 2024.07.09 |
[3일차] ABC 부트캠프 파이썬 환경구축 및 기초지식 다지기 (0) | 2024.07.08 |