13. 모듈 (Module)
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(제곱근) 등이 있음 |
2 | 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) 항상 생각하자! 좋은 프로그래머가 되기 위한 조건!
①중복의 제거!
②기존 작성한 함수, 변수는 모듈화 하여 재활용!
③수정이 필요한 변수값(데이터)는 여러 곳에 두지 말고 모아서 한 번의 수정으로 바뀌게끔 할 것!