###Python
##모듈
: 함수나 변수 또는 클래스를 모아놓은 파일 (자바의 라이브러리 개념)
: 파이썬에서는 개별 소스 파일을 일컫는 말 ---> 파이썬 프로그램으로 작성된 파일이나 C, Fortran 등으로 만든 파이썬 확장파일도 모듈이 될 수 있음
#종류
1 표준 모듈: 파이썬 언어 패키지 안에 기본적으로 포함된 모듈 ex. math, string
2 사용자 생성 모듈: 프로그래머가 직접 작성한 모듈
3 서드 파티(3rd party) 모듈: 다른 프로그래머 또는 업체에서 제공한 모듈
##내장함수
: 파이썬의 표준모듈에 내장되어 있는 함수 --- import 구문 없이 사용할 수 있다
ex. input, print, type, int, str, range, max, min .....
##표준 내장 모듈
: 파이썬의 표준모듈에 내장되어 있는 함수 --- import 구문을 사용해 사용할 수 있다
ex. sys, pickle, os, shutil, glob, tempfile, time, calendar, random, webbrowser....
ex) math 모듈 --- 표준 내장 모듈
1. import math : math 모듈 안의 모든 변수와 함수를 import 한다는 의미
import math # ★ import 필수
#원주율(pi) print(math.pi) # 3.141592653589793 #2^3 print(math.pow(2,3)) # 8.0 #팩토리얼 print(math.factorial(3)) # 6 #ceil() : 올림 print(math.ceil(3.1)) # 4 #floor() : 내림 print(math.floor(3.9)) # 3 #sqrt() : 제곱근 print(math.sqrt(5)) # 2.23606797749979 (=√5) |
2. from math import factorial : math 모듈 안의 factorial 함수만 import 한다는 의미
from math import factorial
#팩토리얼 ---> math 모듈의 factorial 함수만 import하는 경우, 앞의 math를 생략할 수 있음!
print(factorial(3)) # 6
# sys 모듈
1 sys.path : 파이썬 모듈이 저장되어있는 위치를 구해줌
2 sys.exit(): 강제 스크립트 종료
# calendar 모듈
1 calendar.calendar(2022) : 해당 연도의 달력을 리턴
2 calendar.prcal(2022) : 해당 연도의 달력을 출력 --- print 쓰면 안 됨 얘 자체가 출력까지 포함된 함수이기 때문에
3 calendar.prmonth(2022,6) : 해당 연도 해당 월에 대한 달력을 출력 --- 얘도 print 쓰지 말 것
4 calendar.weekday(2022,6,8) : 해당 날짜의 요일을 리턴 : (월(0) ~ 일(6))
ex.
weekday = calendar.weekday(2020, 11, 24) # 1 리턴
week = ['월','화','수','목','금','토','일']
print(week[weekday],'요일') # 화 요일
# random 모듈
1 random.random() : 0.0 ~ 1.0 사이 난수 발생
2 random.randint(1,45) : 1 ~ 45 사이의 난수 발생
3 random.choice(list) : list 항목 중 1개를 랜덤 추출
# time 모듈
1 time.time() : UTC를 이용해 현재 시간을 실수 형태로 리턴 --- 1970.01.01.0.0.0를 기준으로 지난 시간을 초 단위로 리턴
2 time.localtime(time.time()) : time()에 의해 반환된 값을 이용해 연월일시분초 형태로 변환해주는 함수
3 time.asctime(time.localtime(time.time())) : localtime()에 의해 반환된 튜플 형태 값을 인수로 받아 날짜와 시간을 알아보기 쉬운 형태로 리턴하는 함수
4 time.ctime() : 현재 시간을 간단하게 리턴하는 함수
5 형식 지정 함수
print(time.strftime('%x', time.localtime(time.time()))) # 05/31/22
print(time.strftime('%c', time.localtime(time.time()))) # Tue May 31 10:16:04 2022
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 2022-05-31 10:16:04
6 time.sleep() : 일정한 시간 간격을 두고 실행하는 함수 ex. time.sleep(1) : 1초 간격으로 실행
# webbrowser 모듈
: 자신의 시스템에서 사용하는 기본 웹 브라우저가 자동으로 실행되도록 하는 모듈
1 webbrowser.open("http://google.com")
2 webbrowser.open_new("http://google.com") : 새로운 창으로 해당 주소가 열리게 하는 함수
## 사용자 정의 모듈
ex1
* mymath.py # 사용자 정의 모듈 생성
mypi = 3.14
def area(r):
return mypi * r * r
* test.py # mymath 모듈 사용
import mymath
# from mymath import * # mymath 모듈의 모든 변수와 함수를 import 하겠다 (사용은 ㄴㄴ)
---> 단, 얘를 쓰면 모든 변수, 함수 앞에 mymath를 붙여줄 필요가 없어지긴 함
# from mymath import mypi # mypi 변수만 import 하겠다 -> area 함수 사용 불가
# from mymath import area # area 함수만 import 하겠다 -> mypi 변수 사용 불가
# mymath의 변수를 사용
print(mymath.mypi) # 3.14
# mymath의 함수를 사용
print(mymath.area(5)) # 78.5
# 별칭
import calculator as c
----> 별칭이 부여된 후로는 별칭만 사용할 수 있음!
#print(calculator.plus(10,5)) # 오류!
print(c.plus(10,5)) # 정상 출력!
## 외부모듈
# 설치 (콘솔)
pip install numpy
pip install pandas
pip install tensorflow
pip list : 설치된 외부모듈 목록 확인
# 설치 (파이참)
file - settings - Python Interpreter - 좌측상단 + 클릭 - 검색 & 설치(Install package) - ok
## 패키지
: 모듈을 모아놓는 디렉토리
: 파이썬의 패키지가 되기 위해서 -----> 패키지 안에 __init__.py 파일이 존재해야 함
## 패키지 안의 모듈 불러오기
0. my_package 디렉토리 생성 - calculator.py 모듈 생성
1 from 패키지명 import 모듈파일명
from my_package import calculator
print(calculator.plus(10,5))
2 import 패키지명.모듈명
import my_package.calculator
print(my_package.calculator.plus(10, 5))
3. import 패키지명.모듈명 as 별칭
import my_package.calculator as cal
print(cal.plus(10, 5))
ex) matplotlib 모듈 : 그래프 만들어주는 모듈
import matplotlib.pyplot as plt #별칭 사용
plt.plot([1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1]) # y축 값
plt.ylabel('some numbers') # y축 라벨
plt.show() # 그래프 보여주세요
'수업 > 정리' 카테고리의 다른 글
빅데이터 +++ (0) | 2022.06.07 |
---|---|
220603 Python -11 (0) | 2022.06.02 |
220530 Python -9 함수, lambda, map, filter (0) | 2022.05.30 |
220527 Python -8 딕셔너리 (0) | 2022.05.30 |
220526 docker -6 tomcat (0) | 2022.05.26 |