본문 바로가기
Base/Python

29. 모듈 기본 문법 및 기본 내장 모듈

by 귀멸 2023. 7. 1.

혼공파 87 ~ 89강

 

1. 모듈 기본 문법

# 수많은 함수/변수들을 카테고리로 구분하기 위해서
## 클래스 : 객체라는 주어로 묶는 방법
## 모듈 : 관심사를 기반으로 묶는 방법

# 수학과 관련된 대상 -> math 모듈
# 랜덤 처리 관련 대상 -> random 모듈
# 시스템 관련 대상 -> sys 모듈

# 모듈을 읽어 들이는 방법 3가지 모두 알아야함
# 1. import 모듈
# "모듈"을 식별자로 읽어들임
import math
print(math.sin(1))          # 0.8414709848078965
print(math.cos(1))          # 0.5403023058681398
print(math.tan(0))          # 0.0
print(math.ceil(3.5))       # 4
print(math.floor(3.5))      # 3


# 2. import 모듈 as 모
# 모듈을 "모"라는 식별자로 읽어들임
import math as m
m.sin()
m.cos()
m.tan()
m.ceil(3.5)
m.floor(3.5)


# 3. from 모듈 import 변수, 함수, 클래스
#"변수, 함수, 클래스"를 식별자로 읽어들임
from math import sin, cos, tan
sin(1)
cos(1)
tan(0)

# 데이터 분석에서 많이 사용하는 모듈
# 대부분 사람들이 사용하는 방식을 따라서 맞춰주면 된다
import pandas as pd
import numpy as np
import tensorflow as tf
from bs4 import BeautifulSoup

2. 기본 내장 모듈 알아보기

# 모듈의 기본적인 활용 방법
# (1) "내가 무엇을 해야겠다"라고 인지
# (2) 구글/Chatgpt에서 "무엇을 하려면 어떻게 해야하나요?" 찾은 뒤
# (3) 그 코드를 복사해서 사용
# (4) 자주 사용되는 함수가 있다면 이는 외워서 활용

# 모듈 안에 뭐가 있는 지 정도 알아야한다
# 파이썬 모듈 문서에서 내장 모듈의 기능들을 확인 할 수 있다.
# 바퀴의 재발명 (이미 있는데 다시 만드는 것)

import random
print(random.uniform(10, 20))   # a 와 b 사이의 임의의 실수
print(random.randrange(10, 20))  # a 와 b 사이의 임의의 정수
print(random.choice([1, 2, 3, 4, 5, 6])) # 임의의 요소 추출

import sys
print(sys.argv) # 명령 매개 변수 코드 안에 특정한 명령 값을 전달할 수 있다

import os
print(os.name)
print(os.listdir("."))
os.mkdir("hello")
os.rmdir("hello")
os.rename("oo", "ㅁㅁ")
os.remove("oo")
os.system("시스템 명령어")

import time
time.sleep(5) # 특정 시간 동안 대기

from urllib import request
target = request.urlopen("http://google.com")
print(target.read())

# 모듈의 기능들을 하나하나 찾아보며 영어단어 외우듯이 어휘력이 늘어야한다.

3. 활용 예

# (1) 프로그래밍 언어의 기본적인 문법
# (2-1) 알고리즘 문제 풀이
# (2-2) 모듈 공부

import os

output = os.listdir(".")
print("os.listdir():", output) # os.listdir(): ['class.py']
print()

print("# 폴더와 파일 구분하기")
for path in output:
    if os.path.isdir(path):
        print("폴더:", path)
    else:
        print("파일:", path)   # 파일: class.py

여기서 만약 폴더라면 다시 그 안쪽의 파일들을 리스트화 하라고 한다면 재귀함수 알고리즘을 사용해 추가해 줘야 한다.

# "폴더라면 또 탐색하기"라는 재귀 구성으로
# 현재 폴더 내부에 있는 모든 파일을 탐색해보세요.
import os

def read_folder(path):
    # 폴더의 요소 읽어들이기
    output = os.listdir(path)
    # 폴더의 요소 구분하기
    for item in output:
        if os.path.isdir(item):
            read_folder(path + "/" + "itme")
        else:
            print("파일:", item)

read_folder(".")

 

'Base > Python' 카테고리의 다른 글

31. 패키지(Package)의 기본  (0) 2023.07.05
30. 모듈 만들기  (0) 2023.07.05
28. 컴포지션으로 스택(Stack)과 큐(Queue) 구현  (0) 2023.06.30
27. 상속(Inheritance)과 컴포지션(Composition)  (0) 2023.06.30
26. 캡슐화  (0) 2023.06.29

댓글