<복습>
https://wook-2124.tistory.com/23
<준비물>
https://docs.python.org/3/library/
1-1. math - Mathematical functions(수학적 함수)
이 모듈은 C 표준에 의해 정의된 수학 함수에 대한 액세스를 제공합니다. 라고 적혀있다.
1-2. math.ceil(x) - math.ceil(something)
math.ceil(something) 함수는 어떤 소수점 숫자를 올림해서 반환해주는 기능을 한다.
1-3. 'math' is not defined
math.ceil 함수를 이용해서 소수점 숫자를 올림해서 반환해보려 했지만, 터미널에 아직 math가 정의되지 않았다는 오류가 나왔다.
1-4. import math
그렇다면 python안에 내제되있는 수학기능함수(math function)를 import(수입)한 다음에 실행하면?!
결과는 성공!!
정리: import math를 하면 1-2.에 나와있는 모든 수학기능함수들을 쓸 수 있음!!
2-1. 가장 흔히 import 하는 것 - datetime module, 즉 Basic date and time
이쯤되면 슬슬 module에 대해서 감이 잡히기 시작한다. module 이란 함수의 집합체같은 느낌이랄까!?
datetime, math 등등의 여러 모듈의 함수를 import 해옴으로써 여러 함수기능을 이용할 수 있다는 것을 알 수 있다.
위 사진에서는 datetime에서 timedelta를 import 해서 시간을 표시할 수 있다.
2-2. CSV(Comma Separated Values) module
csv(comma separated values)란 콤마 즉 "," 이 콤마를 이용해서 분리해서 변수를 만들어내는 것을 뜻한다.
이건 나중에 또 나오는거지만 쉽게 설명하면, 엑셀 시트의 각각의 열(column - attribute에 해당하는)을 ,를 이용해서 분리해서 나눠줄 수 있는 것이다. 행(row - tuple)은 ";"을 이용해서 나눠줄 수 있다. (컴활내용)
확장자명으로 .csv만 입력해도 Google Spreadsheet에서 읽을 수 있다. (나중에 이부분 포스팅하게 되면 링크 걸어둠!)
2-3. imghdr module
또 다른 module로는 imghdr(쉽게 말해 이미지)가 있다. 이것을 import imghdr 한 뒤, imghdr.what('bass.gif')라고 치면 gif가 나온다는 뜻!
3-1. math.fabs(x) - math.fabs(something)
아까 1-2. 에서 봤던 표에서 math.fabs(something)을 보면, fabs는 절대값(absolute value)을 표현한다.
3-2. math.fabs(-1.2)
math.fabs(-1.2) = 1.2, 즉 다시말해 fabs는 절대값(absolute value)을 표현하는 것을 알 수 있다.
여기까지 정리하면 math.ceil()은 ()안에 있는 값을 올림해주는 함수!
math.fabs()는 ()안에 있는 값을 절대값 처리해주는 함수라고 생각하면 된다.
4-1. math.fsum(iterable) - iterable 반복될 수 있는
math.fsum()은 ()안에 있는 값을 반복해서 sum, 더해주는 함수이다.
4-2. from math import ceil, fsum
math 전체를 import 하는 것이 아니라 math안에 있는 ceil, fsum 함수기능만 따로 import 해서 사용하기!
추가로 fsum은 [], list로 묶어서 나열해줘야한다.
4-3. fsum as 리스트사용
"from math import fsum as 리스트사용"처럼 <as 새로정하는 닉네임>을 사용하려면 새로 정한 닉네임을 sequence로 사용해야한다. 때문에 print(fsum([]))이 아닌 print(리스트사용([]))으로 as를 통해 새로운 변수(sequence)선언을 할 수 있는 것을 알 수 있다.
5-1. import를 이용해서 calculator 만들기!
처음 코딩공부했을 때 제대로 구현못했던 calculator 역시 python을 이용해서 쉽게 만들 수 있다. (제대로 만드는 것은 다음시간에!!)
먼저 calculator.py 파일을 생성해주고 생성한 파일에 계산기에 필요한 함수기능들을 적어준다.
5-2. main.py에서 calculator.py파일의 plus함수 import하기
말 그대로 calculator에서 만들어 놓은 def plus(a, b): 들여쓰기 return a+ b 기능을 from calculator import plus로 가져와준다음, print(plus(1, 2))을 입력하면 정해진 positional arguments 순서에 맞게 1 + 2가 되어 3이 출력된 것을 알 수 있다.
5-3. calculator 함수기능 추가하기
추가로 plus(+ 더하기), minus(- 빼기), times(* 곱하기), division(/ 나누기), remainder(% 나머지), negation(-a 음수), power(** 제곱) 함수기능을 calculator에 추가했다!
5-4. main.py에서 계산식 써보기
이제 마지막으로 main.py에서 미리 만들어둔 calculator.py에서의 함수기능을 이용하면 끝!!
그 전에 from calculator import plus, minus, times, division, remainder, negation, power를 해주고 각각 계산하고 싶은 계산식을 적어주고 print해주면!! 끝!
그리고 from calculator import라고 치면 repl.it 사이트 자체에서도 'calculator 안에 이런저런 함수 기능들이 있는데, 이거 써볼래?' 라는 느낌으로 안내문이 뜨는 것을 알 수 있었다.
최종 정리: 코딩에서의 module이란 python이나 다른 언어들처럼 컴퓨터와 대화를 더 쉽게해주는 매개체 역할을 하는 것! 쉽게 말해서, 유용한 함수기능들의 집합체 같은 느낌!! python에서 module을 사용하려면 import만 해주면 끝!!
from math import ceil, from calculator(내가 만든 module) import times 등등 이라고 생각하면 될 것 같다.
※ 신종 코로나 바이러스 조심하세요!!!!
'Python > Web Scraping' 카테고리의 다른 글
[Python] #2.2 Navigating with Python (#코딩공부) (0) | 2020.02.13 |
---|---|
[Python] #2.0 What is Web Scraping / #2.1 What are We Building (#코딩공부) (0) | 2020.02.12 |
[Python] #1.12 for in (#코딩공부 #for문) (0) | 2020.02.10 |
[Python] #1.11 if else and or (#코딩공부 #if문) (0) | 2020.02.08 |
[Python] #1.10 Conditionals part One (#코딩공부) (0) | 2020.02.08 |
댓글