ai-creator

[python 독학] 8. import - 수입해오자 (w/ 패키지 설치 및 사용) 본문

유치한 파이썬

[python 독학] 8. import - 수입해오자 (w/ 패키지 설치 및 사용)

ai-creator 2020. 8. 22. 15:06
반응형

유치한 파이썬에 오신 것을 환영합니다.

오늘은 [ import ] 입니다.

오늘은 아래와 같은 순서로 배워보겠습니다.

 

1. 들어가기

2. import 를 배우는 이유

3. import 사용법

4. [문제] os패키지로 파일목록 출력하기

5. 확장하기 - 다양한 표현법

6. 정리하기

7. 생각하기

 


1. 들어가기

우리는 좋은 물건수입해옵니다. 

 

프로그램에서 좋은 물건이란? 바로!!  패키지~~~

 

패키지는 "꾸러미" 란 의미를 가지고있죠. 목적에 맞는 기능을 모아둔 꾸러미!

패키지 하면, 여행사 패키지가 떠오릅니다. 러시아여행을 가고 싶다? 라고 하면,

스케쥴 - 항공티켓 - 숙소 - 식사장소 등을 모두 모아두어서 이용하면 매우 편리하죠.

 

이렇듯 내가 작성한 코드에 유용한 패키지를 수입해 옵니다.

즉, 똑똑하고 부지런한 사람들이 목적에 맞는 기능을 모아둔 꾸러미를 내 소스코드로 가져와 사용한다는 의미지요.

 

모듈, 클래스, 패키지 등 정의를 정확히 알 필요가 있지만, 일단! 사용해보고 좋으면 더 자세히 공부해보도록 하시죠.

선코딩 후학습을 지향합니다 ㅎㅎ

 

2. import 를 배우는 이유

똑똑한 사람들이

부지런히

예쁘게 만들어 놓은

꾸러미를 사용하고 싶다면? import를 알아야 합니다.

즉, import를 배우는 이유는? 패키지를 사용하기 위해서죠.

 

유용한 기능을 무료로 사용할 수 있게 해준다는데, 안 쓸 이유가 없죠.

또한 이런점이 파이썬의 장점입니다. 

 

꾸러미(패키지)를 사용하기 위해서는, 사용한다고 명시적으로 '선언'을 해야 와야 합니다.

즉 외국에서 잘 만들어 놓은 상품을 수입하듯

다른 사람이 만들어 놓은 패키지를 내가 작성한 소스코드로 수입해 오기 위해 '선언'을 하는거죠.

 

패키지를 
내 코드에

수입해서 사용하겠노라!

 

3. import 사용법

import 패키지명

참 쉽죠잉?

이렇게 선언만 해 두면 해당 패키지를 사용할 수 있다는 의미입니다.

그럼 이제 패키지에서 제공하는 기능을 사용해보면 되는데요, 패키지가 어떤 기능을 제공하는 걸까요?

너무 친절하게도 사용법을 문서로 만들어 놓았다는 사실!!!!!!!!!! (패키지를 만들어주신 분들 모두 모두 존경합니다.)

 

예전에 유치한파이썬 강좌 개설 목적에 대해서 말씀드린적이 있어요.

파이썬을 활용하는 분야들이 무궁무진해서

! 패키지가 엄청 다양하고,

! 분야별로 주로 사용하는 것들이 다르기 때문에

기초를 빠르게 배운 후 분야별로 연결해서 공부하는 방법을 추천합니다.

활용하는 분야가 무궁무진해서 엄청나게 많은 패키지들이 있어서

여러분들이 활용하고자 하는 분야에 따라 자주 사용하는 패키지가 다르겠지만,

저의 경우는

- pandas

- numpy

- requests

등의 패키지를 자주 사용합니다.

각각이 무엇인지 모르셔도 괜찮아요. 지금 여기서 하고 싶은 말은 각 패키지별 문서가 너무 잘 되어 있다. 입니다.

 

https://pandas.pydata.org/

 

pandas - Python Data Analysis Library

pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!

pandas.pydata.org

=> pandas : 데이터 분석을 할 수 있는 라이브러리 입니다. 링크를 클릭해서 들어가보시면, 어떤 기능(함수)를 제공하고 있는지 알 수 있죠.

 

https://numpy.org/

 

NumPy

Powerful N-dimensional arrays Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. Numerical computing tools NumPy offers comprehensive mathematical functions, random number g

numpy.org

https://requests.readthedocs.io/en/master/

 

Requests: HTTP for Humans™ — Requests 2.24.0 documentation

Requests: HTTP for Humans™ Release v2.24.0. (Installation) Requests is an elegant and simple HTTP library for Python, built for human beings. Behold, the power of Requests: >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.

requests.readthedocs.io

엄청나죠? 

 

패키지를 사용하기 위해서는 1) 설치 => 2) 선언 => 3) 사용입니다.

pandas 패키지 사용을 예시로 하겠습니다.

 

1) 설치

: 작성된 패키지를 내 컴퓨터로 설치합니다. 

 

[colab 또는 jupyter notebook에서 설치하는 방법]

!pip install 패키지명

=> 느낌표가 있습니다. 

!pip install pandas

 

[conda 또는 command shell에서 설치하는 방법]

pip install 패키지명

=> 느낌표 없이 사용합니다.

pip install pandas

2) 선언

: 패키지를 사용하겠다고 import 명령어를 사용하여 선언합니다.

import pandas

3) 사용

df = pandas.DataFrame({'fruits': ['apple', 'banana'], 
                       'price' : [500, 300]})
                      
df.head()

pandas.DataFrame()은 pandas에 있는 DataFrame() 함수를 호출한다. 는 의미를 갖습니다.

입력과 출력은 pandas문서를 보고 적절하게 넣어줍니다.

 

[결과 확인]

마치 excel 같네요.

 

4. [문제] os 패키지로 파일목록 출력하기

pandas, numpy, requests 패키지들처럼 설치가 필요한 경우가 있고,

이미 파이썬에 내장되어 있는 패키지가 있습니다. 내장 되어 있으므로 설치가 필요없죠.

내장된 os 패키지를 통해서 현재 폴더의 파일리스트를 구해오도록 하겠습니다.

 

import os

print("현재 폴더명 : ", os.getcwd())
print("폴더에 있는 파일들 : ", os.listdir())

 

[소스 설명]

os 패키지를 사용하기 위해서 import os를 선언하고요,

os패키지에 있는 함수를 사용하므로, 패키지.함수명 으로 표현합니다. 

os.getcwd() 

> cwd = current working directory  현재 작업중인 디렉토리(폴더)를 

> get = 얻어온다.

 

os.listdir() 

> dir = 디렉토리(폴더)에 있는 파일을

> list = list 형태로 가지고 온다.

 

각 함수의 설명은 os 패키지 설명서를 보시는게 제일 정확하겠죠?

 

 

[결과 확인]

** 결과는 동일하지 않습니다. 여러분의 폴더에 있는 파일목록과 제 폴더에 있는 파일목록이 다르기 때문입니다.

colab으로 보면, 사용중인 폴더에 동일한 이름의 파일이 있음을 알 수 있습니다.

꼭 colab이 아니여도 동일한 코드에서 결과를 확인해 볼 수 있습니다.

 

5. 확장하기 - 다양한 표현법

다양한 표현법이 있습니다.

 

1) import 패키지명 as 별명

: 패키지명이 길 경우 패키지이름을 모두 쓰면 귀찮잖아요. 짧은 이름으로 별명을 지어 줍니다.

import pandas as pd
df = pd.DataFrame({'fruits': ['apple', 'banana'], 
                   'price' : [500, 300]})
                   
df.head()

=> 별명을 pd로 주었으므로, 이제 pd.함수명() 으로 사용하시면 됩니다.

 

2) from 패키지명 import 함수명

=> 패키지에서 특정함수만 수입해서 옵니다.

그러면, 함수명()만으로 사용할 수 있어요.

from pandas import DataFrame
df = DataFrame({'fruits': ['apple', 'banana'], 
                'price' : [500, 300]})
                
df.head()

 

6. 정리하기

유용한 패키지를 설치 => 선언 => 사용 하는 방법에 대해서 알아보았습니다.

1) 설치

pip install 패키지명

2) 선언별 사용방법

선언 사용
import 패키지명 패키지명.함수명()
from 패키지명 import 함수명 함수명()
import 패키지명 as 별명 별명.함수명()

 

7. 생각하기

문제 2개를 과제로 내드립니다.

1) 내가 사용하고자 하는 분야에서 유용하게 쓰이는 패키지 3개 조사하기 

 

2) from 패키지 import함수명 사용시 장점

확장하기에서 표현법 중에 from 패키지명 import 함수명 이 있다고 배웠습니다. 왜 굳이 특정 함수만 수입해오는 방법을 사용할까요? 사용법이 간편해지는 장점말고, 굉장히 중요한 이유가 있습니다.그 이유를 생각해보세요~

 

댓글을 달아주시면 피드백 드리겠습니다^^

오늘 문제는 난이도가 높네요ㅎㅎㅎ;;

한번 고민해 보세요~~

 


도움이 되셨다면, 좋아요 / 구독 버튼 눌러주세요~

 

저작물의 저작권은 작성자에게 있습니다.
공유는 자유롭게 하시되 댓글 남겨주세요~
상업적 용도로는 무단 사용을 금지합니다.
끝까지 읽어주셔서 감사합니다^^

반응형
Comments