-
7일차 - 모듈AI 솔루션 개발자과정(Java, Python) 2022. 10. 18. 17:50
표준 모듈
파이썬은 모듈 이라는 기능을 활용해 코드를 분리하고 공유한다.
모듈은 여러 변수와 함수를 가지고 있는 집합체로, 이미 만들어져 있는 파이썬 소스 파일이다.
모듈은 크게 표준 모듈과 외부 모듈로 나뉜다.
-
- 표준 모듈은 파이썬에 기본적으로 내장되어 있는 모듈이다
- 외부 모듈은 다른 사람이 만들어서 공개한 모듈이다.
모듈을 가져올 때는 (import 모듈이름) 구문을 사용하는데 일반적으로 모듈을 가져오는 import 구문은 코드의 가장 위에 작성한다.
from 구문
모듈에는 정말 많은 변수와 함수가 들어있다. 그중에서 우리가 활용할 기능은 극히 일부일 수 있으며, 모듈을 사용할 때 마다 코드 앞에 무언가를 붙이는게 귀찮다고 느껴질 수 있다.
from구문을 사용하면 코드 앞에 변수 또는 함수를 붙이지 않아도 모듈을 사용할 수 있다.
가져오고 싶은 변수 또는 함수에는 여러 개의 변수 또는 함수를 입력할 수 있고,
*을 붙이면 모든 요소를 가져오지만, 식별자 이름에서 충돌이 일어날 수 있다.
as 구문
모듈을 가져올 때 이름 충돌이 발생하는 경우와 모듈의 이름이 길어서 짧게 줄여 사용하고 싶을 때 as 구문을 사용한다.
이처럼 모듈의 이름을 줄여서 사용할 수 있다.
import 모듈이름 as 식별자의 구성을 가지고 있다.
math 모듈
math 모듈은 수학과 관련된 기능을 가지고 있다.
사인(sin), 코사인(cos), 탄젠트(tan)과 같이 수학시간에 들었던 용어들이 포함되어 있다.
모듈명.함수() 형태로 사용한다.
math 모듈의 함수 몇가지를 정리하면 다음과 같다.
- sin(x) : 사인값을 구한다.
- cos(x) : 코사인값을 구한다.
- tan(x) : 탄젠트값을 구한다.
- log(x[,base]) : 로그값을 구한다.
- ceil(x) : 값을 올림한다.
- floor(x) : 값을 내림한다.
- round(x) : 값을 반올림한다.
random 모듈
random 모듈은 랜덤한 값을 생성할 때 사용하는 모듈이다.
random 모듈의 함수
- random() : 0.0 과 1.0 사이의 랜덤한 float(실수)를 리턴한다.
- uniform(min,max): 지정한 범위 사이의 float를 리턴한다.
- randrange(),(max),(min,max) : 지정한 범위 사이의 int(정수)를 리턴한다.
- choice(list) : 리스트 내부에 있는 요소를 랜덤하게 선택한다
- shuffle(list) : 리스트 내부에 있는 요소를 랜덤하게 섞는다.
- sample(list, k=<숫자>) : 리스트의 요소 중에 k개를 뽑는다.
sys 모듈
sys 모듈은 시스템과 관련된 정보를 가지고 있는 모듈이다.
명령 매개변수를 받을 때 많이 사용한다.
os 모듈
os 모듈은 운영체제와 관련된 기능을 가진 모듈이다.
새로운 폴더를 만들거나 폴더 내부의 파일 목록을 보는 일도 모두 os 모듈을 활용하여 처리한다.
os 모듈의 함수
- mkdir() : 폴더를 만든다
- rmdir() : 폴더를 지운다
- rename() : 이름을 바꾼다
- remove() : 파일을 지운다
- system() : 시스템 명령어를 실행한다.
datetime 모듈
datetime 모듈은 날짜와 시간에 관련된 모듈로, 날짜 형식을 만들 때 자주 사용되는 코드들로 구성되어있는 모듈이다.
year, month, day, hour,minute,second 등의 함수가 있고
strftime() 함수를 사용하면 시간을 형식에 맞춰 출력할 수 있다.
time 모듈
time 모듈은 시간과 관련된 기능을 다룰 때 사용한다.
time 모듈로도 날짜와 관련된 처리를 할 수 있지만, 그런 처리는 datetime 모듈을 사용하는 것이 효과적이다.
time 모듈은 유닉스 타임(1970년 1월 1일 0시 0분 0초를 기준으로 계산한 시간 단위)를 구할 때나 특정 시간동안 코드 진행을 정지할 때 사용한다.
time.sleep() 함수는 특정 시간 동안 코드 진행을 정지할 때 사용하는 함수이다. 매개변수에는 정지하고 싶은 시간을 초 단위로 입력해야 한다.
urllib 모듈
urllib 모듈은 URL을 다루는 라이브러리이다.
URL은 Uniform Resource Locator를 의미하는 말로, 네트워크의 자원이 어디에 위치하는지 확인할 때 사용한다. 간단하게 인터넷 주소라고 한다.
즉, urllib 모듈은 인터넷 주소를 활용할 때 사용하는 라이브러리이다.
- urlopen() 함수는 URL 주소의 페이지를 열어주는 함수이다. 우리가 인터넷을 이용할 때 주소창에 주소를 입력하고 접속하는것처럼 파이썬이 해당 주소로 접속해준다.
- read()함수는 호출하면 해당 웹 페이지에 있는 내용을 읽어서 가져온다.
외부 모듈
외부 모듈은 파이썬이 기본적으로 제공하는 것이 아니라, 다른 사람이 만들어 배포하는 모듈을 외부 모듈이라 한다.
모듈 설치하기
외부 모듈을 사용하기 위해선 모듈을 설치 해야한다.
명령 프롬프트에서 pip install 모듈 이름 을 입력하여 설치할 수 있다.
Beautiful Soup 모듈
Beautiful Soup 모듈은 유명한 파이썬의 웹 페이지 분석 모듈이다.
bs4모듈의 BeautifulSoup()함수의 매개변수로 HTML 문자열과 'html.parser'라는 문자열을 넣으면 BeautifulSoup라는 특수한 객체를 리턴한다.
이를 기반으로 태그를 여러 개 선택할 때는 select()함수, 하나만 선택할 때는 select_one() 함수를 사용해서 원하는 값을 추출한다.
Flask 모듈
일반적으로 파이썬으로 웹 개발을 할 때는 Django(장고) 또는 Flask(플라스크) 등의 모듈을 사용한다.
- Django는 매우 다양한 기능을 제공하는 웹 개발 프레임워크이고,
- Flask는 작은 기능만을 제공하는 웹 개발 프레임워크이다.
라이브러리와 프레임워크
모듈을 살펴보면 라이브러리와 프레임워크라는 말을 많이 듣는다.
두 단어를 구분하자면, 제어 역전 여부에 따라서 달라진다.
구분 설명 라이브러리(library) 정상적인 제어를 하는 모듈 프레임워크(framework) 제어 역전이 발생하는 모듈 제어 역전이란 쉽게 말해 제어가 역전되어 있다는 말이다.
개발자가 모듈의 함수를 호출하는 것이 일반적인 제어의 흐름이다.
이와 반대로 개발자가 만든 함수를 모듈이 실행하는 것은 제어가 역전된 것이다.
이러한 제어 역전의 여부로 라이브러리와 프레임워크를 구분한다.
'AI 솔루션 개발자과정(Java, Python)' 카테고리의 다른 글
9일차 - 파이썬 마무리 정리 (0) 2022.10.21 8일차 - 클래스 (0) 2022.10.19 6일차 - 파일 처리와 예외 처리 (0) 2022.10.18 5일차 - 함수와 람다 (2) 2022.10.14 4일차 딕셔너리와 반복문 (0) 2022.10.13 -