728x90

모듈 : 특정 목적을 가진 함수, 자료의 모임

 

모듈 불러오기

- import 키워드를 이용해서 모듈 사용

import random

 

모듈 사용법 확인하기

- 모듈 속 사용하려는 함수/변수의 사용법 확인

- .(dot)을 쓴 후에 모듈 속 함수/변수 사용

- random.randrange(start, stop, step)

import random
print(random.randrange(0,11))
# 0 이상 11미만 수 중 임의의 출력 --> 1 ~ 10까지의 숫자 중 하나를 출력

math 모듈 : 수학 연산을 도와주는 모듈

# math.log(b,a) 출력
import math
print(math.log(5,2) + math.log(4/5, 2))

 

random : 랜덤한 숫자를 선택해 주는 함수들이 담긴 모듈

 

 

계산기 모듈 제작

- py 파일을 생성 후, 함수와 변수를 만든다.

- 다른 파일에서 만들어 둔 py 파일을 불러온다.

- 불러온 모듈 속 함수, 변수를 활용한다.

cal.py 모듈은 계산기 기능이 담긴 모듈입니다. 
이 안에는 plus() 와 minus() 함수가 있고, 모델명이 담긴 변수 modelName이 있습니다. 
오른쪽 실습에서 직접 이 cal.py를 만들어보고, main.py에서 이를 불러와봅시다.

# cal.py
def plus(a,b):
  return a+b
  
def minus(a,b):
  return a-b
  
modelName = "ELI-C2"

# main.py
import cal
var1 = cal.modelName
var2 = cal.plus(3, 4)
var3 = cal.minus(7, 2)

## 변수의 값을 확인하는 출력문입니다.
print(var1, var2, var3)
# cal.py
# 모듈 cal안에 함수들을 구현해주세요.
def plus(a,b):
  return a+b
  
def minus(a,b):
  return a-b
  
def times(a,b):
  return a*b
  
def divide(a,b):
  return a/b
  
def mod(a,b):
  return a%b
  
# main.py
import cal

var1 = cal.plus(3, 4)
var2 = cal.minus(7, 2)
var3 = cal.times(3, 5)
var4 = cal.divide(9, 3)
var5 = cal.mod(10, 3)

# 변수의 값을 확인하는 출력문입니다.
print('3 + 4 = ', var1)
print('7 - 2 = ', var2)
print('3 * 5 = ', var3)
print('9 / 3 = ', var4)
print('10 % 3 = ', var5)

 

Python 시간 모듈 사용 예제

Python time.localtime()

The localtime() function takes the number of seconds passed since epoch as an argument and returns struct_time in local time.

import time

result = time.localtime(1545925769)

print("result:", result)

print("\nyear:", result.tm_year)

print("tm_hour:", result.tm_hour)

# 변수 clock에 현재 시각이 “요일 월 일 시간 년” 순으로 나열된 문자열을 담아봅시다.
# 짝수 분에 제출 버튼을 눌러 엘리스가 문을 두들기도록 해봅시다.
# time.ctime() : “요일 월 일 시간 년” 순으로 현재 시간을 문자열로 반환해주는 함수

import time
clock = time.ctime()
print(clock)

minute = time.localtime().tm_min
print(minute)

if minute % 2 == 0:
  print("문을 두드려라")
else:
  print("문 두드리지 마")
파이썬에서 현재 시간을 얻는 datetime 모듈

from datetime import datetime
datetime.now()
datetime.datetime(2021, 4, 05, 11, 14, 16, 222169)

연도, 월, 일 및 시간을 포함한 날짜 시간 정보가 포함 된 datetime 객체를 반환한다.
string 형식을 선호한다면 strftime 메소드를 사용하여 datetime 오브젝트 인스턴스를 
인수에 정의 된 문자열 형식으로 변환 할 수 있다.

datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# 결과 : '2021-04-05 11:14:25'

 

import math

print(math.log(5,2) + math.log(4/5, 2))

 

from urllib import request
target = request.urlopen("https://hanbit.co.kr")
content = target.read()
#print(content)
print(content[:200])

패키지

1. import를 이용해서 폴더를 불러온 후, 함수 실행

   import user.cal

   print(cal.plus(3,4))

2. from-import 사용

   함수/변수 사용시 .를 써주지 않아도 된다.

   from user.cal import plus

   print(plus(3,4))

 

user 패키지의 math 모듈에서 log 함수를 불러오려고 할 때, 알맞은 코드를 적어라.

from user.math import log

# from a import b를 이용해서 random의 randrange()를 불러와봅시다.
# import a를 이용해서 math 모듈을 불러와봅시다.
# 변수 var1에 randrange 함수를 이용해 1이상 10이하의 임의의 정수를 넣어봅시다.

from random import randrange
import math

var1 = randrange(1, 11)
var2 = math.log(5184, 72)

print(var1, var2)
# from-import를 이용해서 urllib패키지 안 request 모듈에서 
# urlopen 함수를 불러오는 코드를 작성해봅시다.
# 다음 주소를 urlopen하고, read() 한 다음, 
# 이를 utf-8으로 decode 한 결과를 변수 webpage에 넣어봅시다.

from urllib.request import urlopen

webpage = urlopen("https://en.wikipedia.org/wiki/Lorem_ipsum").read().decode("utf-8")
print(webpage)

로또번호 당첨확률

1. random 모듈을 import해봅시다.
2. 빈 리스트를 담은 변수 lotto를 만들어봅시다.
3. lotto의 길이가 6이 될 때까지 다음 과정을 수행합니다.
   - 1부터 45까지의 수 중 하나를 임의로 뽑습니다.
   - 만약 뽑은 수가 리스트 lotto에 없으면 lotto에 추가하고, 있으면 수를 다시 뽑습니다.
   - pass는 아무런 동작도 하지 않는 코드입니다.

     if조건 만족 후 아무런 코드도 없다면 오류를 일으키기 때문에 무의미한 pass를 넣습니다.
4. lotto를 정렬해줍니다.
5. lotto를 출력하여 우리가 뽑은 로또번호를 확인해봅시다.

import random

lotto = []

while len(lotto) < 6:
  num = random.randrange(1, 46)
  if num in lotto:
    pass
  else:
    lotto.append(num)
  lotto.sort()

print(lotto)
블로그 이미지

Link2Me

,