카테고리 없음

인공지능과 미래사회(모듈)

20308박동진 2023. 6. 21. 02:17
모듈(module)이란?

- 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일.

- 매우 많은 종류의 모듈이 있다.

- 대부분의 사용이유는 효율성이며, 복잡하고 긴 코드를 짧게 추려논 것이라고 생각하면 편함.

- 사용자가 직접 만들 수도 있지만, 대부분은 파이썬에서 기본적으로 제공함.

*파이썬 기본 제공 모듈 : math, urllib.request, random, turtle, os, sys 등

*사용자 라이브러리에 포함된 모듈 : numpy, random, matplot.lib.pyplot, pygame.mixer 등

*사용자 직접 지정 모듈 : def (함수이름) 으로 작성된 파일을 디렉터리에 저장 후 직접 불러옵니다.

- import (모듈이름) 으로 씀.

- 각각 모듈마다 사용할 수 있는 코드의 숫자, 용도가 다름.

 

사용 예시는 다음과 같습니다.

 

random 모듈 사용경우.

import random

a = random.random()
b = random.randrange(1, 10)
c = ['a', 'b', 'c', 'd']
d = random.choice(c)
random.shuffle(c)

print(a)
print(b)
print(d)
print(c)

--> 
0 ~ 1 까지의 숫자가 무작위로 소숫점 12자리까지 저장됨.
1 ~ 10 까지의 숫자가 무작위로 저장됨.
지정한 글자 중 무작위로 저장.
['b', 'c', 'a', 'd'] 같이 순서가 무작위로 섞임.

 

string 모듈 사용 경우.

import string						//string 예제

print(string.ascii_uppercase)
print(string.ascii_lowercase)
print(string.ascii_letters)
print(string.digits)

-->
ABCDEFGHIJKLMNOPQRSTUVWXYZ	//대문자 
abcdefghijklmnopqrstuvwxyz	//소문자
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ	//대문자+소문자
0123456789	//숫자

 

본인 스스로 모듈을 만들었을 경우.

 

본인 스스로 모듈을 만들 시, add, sub을 만들었다고 예를 들어 봅시다.

그 파일(file)의 이름은 Nefus.py라고 한다면, 이 파일은 위의 예시들과 같이 물론 import Nefus로 불러 올 수 있습니다.

하지만 이렇게 불러오면 계속해서 Nefus.add, Nefus.sub라고 써줘야하는 불편함이 있단 말이죠.

이 때 사용할 수 있는 문법이 바로 from입니다.

기본적으로 from Nefus import add, sub 라고 쓰며(예시기준) 이는 따로 무슨 모듈을 썼는지 다시 한 번 쓸 필요 없이, 그냥 사용이 가능하게 해줍니다.

++

해당 모듈 안에있는 모든함수를 사용하고 싶은 경우 import  *을 해주면 됩니다.

//file 이름 : Nefus.py

def add(a, b):
  return(a + b)
  
def sub(a, b):
  return(a - b)
  
---------------------------

from Nefus immport add, sub // == from Nefus import *

print(add(3,4))
print(sub(3,1))

-->
7
2

 

math 모듈 사용 경우.

from math import *

print(sqrt(2))	//2의 제곱근
print(sqrt(4))	//4의 제곱근
print(pi)	//원주율

-->
1.4142135623730951
2.0
3.1415926535897931

 

calendar 모듈 사용 경우.

import calendar

calendar.prmonth(2013, 7)

-->
     July 2013
Mo Tu We Th Fr Sa Su
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

 

등등의 모듈이 더 있습니다.