개발자 하고 싶다!!!

13. 모듈 (Module)

1_Python2019. 1. 12. 17:33

1. 공부한 내용

 1) 모듈(Module)의 개념 이해

 2) 모듈 또한 내장 모듈이 있고 직접 모듈을 만들 수도 있음 (별도의 file로)

 

2. 실습 내용 

 No

 입력 코드

결과 

 설명

 1

import math

print(math.ceil(2.1))

print(math.floor(2.1))

print(math.sqrt(4))

3

2

2


1. 내장 모듈 사용


<import math>를 입력하므로서 <math>라는 내장 모듈을 불러옴

그 상태에서 <math.XXX>의 형식으로 math 모듈 안에 있는 함수를 사용함


math는 연산 관련 모듈이며 안에 들어 있는 함수는 

ceil(소수점 올림), floor(소수점 내림), sqrt(제곱근) 등이 있음

from sdm import b as z

import har as k

print(k.a())

print(z())


 - sdm의 모듈 내용 -

def a():

    return 'a'

def b():

    return 'b'

def c():

    return 'c'


 - har 모듈 내용 -
def a():
    return 'B'

B

b

2. 모듈 작성 후 사용


 1) sdm, har 라는 모듈 작성

 - 각 모듈에 왼쪽에 나온 것처럼 함수를 정의함


 2) 모듈 호출 및 Print

 - 일반적인 모듈 호출은 <import har> 이며, <har>라는 모듈 이름을 바꾸고 싶은 경우, 뒤에 <as k> 추가

 - import 한 모듈를 사용할 경우, <모듈 이름.함수이름()> 형식으로 입력

   예시 : import har / print(har.a())

 - 호출할 모듈 안에 일부 함수만 사용하는 경우,

   <from sdm import b> 형식으로 입력

    즉, sdm의 모듈에 b라는 함수만 import 한다는 의미)

 - from 로 입력한 모듈의 경우, 모듈 이름 없이 함수로만 호출함

    즉, sdm.a() 형식이 아닌 그냥 a()


* 다른 모듈에 각각 같은 이름의 함수가 존재하는 경우, 나중에 import 된 모듈의 함수를 호출함

 3

import auth


input_id=input("아이디를 입력해주세요. \n")


if auth.login(input_id):

        print('hello!, ' + input_id)

else:

        print('Who are you?')


 - auth 모듈의 내용 - 


def login(_id):

        members = ['har', 'space', 'SDM']

        for member in members:

                if member == _id:

                        return True

        return False

(입력) har (혹은 space, SDM)

(출력) hello!, har


(입력) asdajlds

(출력) Who are you?

3. 기존 로그인 어플리케이션에 모듈 적용


 1) auth 라는 이름의 모듈을 작성, 그 안에 login 함수를 정의해놓음

 2) 별도의 file에서 <import auth> 하여 모듈을 불러온 뒤,

    <auth.login()> 하여 auth 모듈 내의 login 함수 호출함

 3) 나머지는 기존 로그인 어플리케이션 그대로


* auth에 있는 함수와 변수를 다른 곳에서도 import 하여 재활용이 가능함


3. 의미/중요한 부분

 1) 모듈을 만들어 성격이 비슷한 함수(내장 함수로 예를 들면 math는 연산자 관련 함수들이 들어 있음)를 모아 놓을 수 있음

 2) 모듈은 file로서 존재하며 안에 변수 및 함수를 담아 '재활용' 할 수 있음


4. 궁금점/감상

 1) 항상 생각하자! 좋은 프로그래머가 되기 위한 조건!

  중복의 제거! 

  ②기존 작성한 함수, 변수는 모듈화 하여 재활용! 

  ③수정이 필요한 변수값(데이터)는 여러 곳에 두지 말고 모아서 한 번의 수정으로 바뀌게끔 할 것!


'1_Python' 카테고리의 다른 글

15. 객체와 변수  (0) 2019.01.19
14. 객체 (Class) / 객체 지향 프로그래밍  (0) 2019.01.13
12. 함수  (0) 2019.01.06
11. 컨테이너와 반복문  (0) 2019.01.03
10. 반복문  (0) 2018.12.15