파이썬 중급2 - 모듈

Jasmine·2023년 3월 21일
0

파이썬 중급

목록 보기
2/12

03/22

모듈이란?

특정 기능을 가지고 있는 파이썬 파일

내부 모듈 : 기본적으로 사용할 수 있음 (파이썬 내장)
외부 모듈 : 별도 설치
사용자 모듈 : 사용자가 직접 만든 모듈

모듈 제작과 사용

모듈 제작

파이썬 파일이므로, 확장자 (모듈명.py)

모듈명.py 라고 파일을 만든 후,
내부에 함수를 이용해 기능을 선언

import 모듈명
모듈명.함수

📋실습 : 로또 번호(6개)를 출력하는 모듈을 만들어 보자.

random 모듈
random.sample(범위, 갯수) 여러개 추출할 때

📋실습 : 문자열을 거꾸로 반환하는 모듈을 만들어보자. ⏳⏳

  • 문자열의 c(한글자씩)가 계속 도는데, 먼저 추출된게 뒤로가고 새로 추출된게 앞으로 저장됨
  • reversedString = '' : 아무것도 없는것임. 순서를 바꾸는 데 활용하기.

모듈 사용(import, as, from)

  • import 모듈명 : 모듈을 데려온다
  • import 모듈명 as 닉네임 : 모듈 이름을 단축시킨다
  • from 모듈명 import 기능 : 모듈의 특정 기능만 사용할 수 있다

📋실습 : 국어, 영어, 수학 점수를 입력하면 총점, 평균을 출력하는 모듈을 만들어보자 ⏳

scores라는 [리스트]에 점수를 추가하게 하고 (append)
getScores로 리스트를 반환한걸 출력하고
총점과 평균을 반환한걸 출력하는 로직

아직은 이해하는 것도 어렵지만 숙달되면 슥슥 코딩해낼 수 있겠지!

실행(메인) 파일 : 전역변수__name__ ⏳⏳⏳

__name__ : 언더바 두 개임!

파이썬에서 기본적으로 제공되는 전역변수.
모듈 이름이 저장되거나, '__main__'이 저장된다
  • add, sub, mul, div 모듈을 사용하는 실행파일로 저장해놔도
    항상 main__ 실행파일로 저장된다 (실행파일인 경우에)
    각 모듈들은 이름으로 저장되는데, 실행파일은 main으로 저장됨

파이썬 파일을 여러개 만들어서 쓰다가, 하나로 묶어서 쓰려고 할때
어떤 파일이 main method인지 표시를 해주는 거라고 보면 됨. (파이썬이 찾을 수 있도록)
module.py로 저장하여 실행파일로 표시

print(f'__name__: {__name__}')

실행파일인지 구별할 수 있음.

📋실습 : 단위 환산 모듈을 만들고 cm를 mm, inch, m, ft로 변환해보자

  • 왼쪽 파일 : unitConversion.py (모듈) // 오른쪽 파일 : module.py (실행파일)
  • round(변수, 자릿수) 소숫점 지정해주는 함수
if __name__ == '__main__':

-> name전역변수가 실행함수(main)인 경우에만 print문 실행.
그냥 모듈파일은 실행해도 print문 실행하지 않음.
오른쪽 실행파일에도, 똑같이 지정함으로써, 실행파일인지 확인 후 실행.

패키지

관련있는 모듈을 그룹으로 모아 하나의 디렉토리로 만들 수 있다

디렉토리(폴더)를 만든 후, 그 안에 모듈(파이썬파일)을 모아넣는다

from 패키지이름(디렉토리명) import 모듈명(파이썬파일명)

site-packages

  • site-packages에 있는 모듈은 어디서나 사용할 수 있다

sys.path : 이 파일이 실행될 때 참고하는 폴더들이 어떤 경로들이 있는지 출력
venv : virtual environment (가상 환경)

  • 다른 디렉토리에서도 쓸 수 있게 하려면(접근가능), site-packages에 파일을 옮겨두면 된다!
    (파일 오른쪽 마우스 클릭 -> Refactor -> Move Directory)

자주 사용하는 모듈

  • 수학 관련 함수

합 sum
최댓값 max
최솟값 min
거듭제곱 pow
반올림 round

  • math 모듈

절댓값 fabs
올림 ceil
내림 floor
버림 trunc
최대공약수 gcd
팩토리얼 factorial
제곱근 sqrt

  • random 모듈

난수 random, randint, randrage
난수 여러개 sample
무작위 추출 choice
섞음 shuffle

  • time 모듈

현재 시간정보(연,월,일,시,분,초,요일,연일..) localtime
연도 tm_year
월 tm_mon
일자 tm_mday
시간 tm_hour
분 tm_min
초 tm_sec
요일 tm_wday

.
.
.

🔥제로베이스 데이터 사이언스 취업스쿨 13기🔥

profile
데이터직무를 위한 공부 기록

0개의 댓글