ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python: 모듈 import하고 표준 라이브러리 모듈 사용해보기! (feat. math, random, datetime)
    Python 2020. 6. 30. 00:37

    1. 내가 만든 모듈 import하기

     

      project 안에 calculator.py 라고 해서 계산기능을 넣은 py 파일을 만들어 줍니다.

     

    def add(x, y):  # 덧셈
        return x + y
    
    def subtract(x, y):  # 뺄셈
        return x - y
    
    def multiple(x, y):  # 곱셈
        return x * y
        
    def divide(x, y):  # 나눗셈
        return x / y

    <calculator.py>

     

     

    이제 같은 디렉토리 안에 있는 다른 py파일에 import 파일명을 해줍니다. 

     

    import calculator 
    
    x = 10
    y = 5
    
    print(calculator.add(x, y))
    print(calculator.subtract(x, y))
    print(calculator.multiple(x, y))

    단, calculator 안에 있는 메서드에 접근할때는 calculator.을 통해 접근해주어야 합니다. 

     

     

    이외에도 다른 방식으로 import해줄 수 있습니다. 

     

    1) import 파일명 as 원하는 이름

    import calculator as calc 
    
    x = 10
    y = 5
    
    print(calc.add(x, y))
    print(calc.subtract(x, y))
    print(calc.multiple(x, y))

    calculator가 너무 길다 싶으면 as라는 예약어를 이용하여 원하는 이름으로 접근할 수 있습니다. 

     

     

    2) from 파일명 import 가져오고 싶은 메서드

    from calculator import  subtract, multiple
    
    x = 10
    y = 5
    
    print(calculator.add(x, y))
    print(subtract(x, y))
    print(multiple(x, y))

    calculator 안에 있는 메서드를 선택하여 가져오면 이름으로 접근할 필요없이 메서드를 사용할 수 있습니다

     

     

    3) from 파일명 import *

    from calculator import * 
    
    x = 10
    y = 5
    
    print(calculator.add(x, y))
    print(subtract(x, y))
    print(multiple(x, y))
    

     

    파일 안의 모든 메서드를 자유롭게 사용할 수 있지만 권장하는 방법이 아니라고 합니다.

    (어떤 모듈에서 메서드를 가져왔는지 모르기 때문이라고 합니다.) 

     


     

    2.  표준라이브러리(Standard Library) 이용하기

     

     표준 라이브러리(standard library)란 의 여러 구현체에서 통용될 수 있도록 만들어진 라이브러리를 말합니다.

     

     

    1) math 

     

    스탠다드 라이브러리에 있는 math 모듈은 수학적 공식들을 다루기 위한  클래스를 가지고 있습니다.

     

    import math
    
    print(math.cos(0)) #cosin 함수
    print(math.log10(100))  #log함수
    print(math.pi)  #원주율

     

    2.0
    3.141592653589793
    0.41355067746569074

     

     

    2). random

     

    스탠다드 라이브러리에 있는 random 모듈은 랜덤한 수를 다루기 위한 클래스를 가지고 있습니다.

     

    import random
    
    print(random.random())        #0부터 1사이의 랜덤한 수 리턴
    print(random.random())
    print(random.random())
    print(random.random())
    print()
    
    print(random.randint(1, 30))  # 1부터 30까지 수 중 랜덤한 정수를 리턴
    print(random.randint(1, 30))
    print(random.randint(1, 30))
    print(random.randint(1, 30))
    print()
    
    print(random.uniform(1, 4))  # 1부터 4까지 수 중 랜덤한 소수를 리턴
    print(random.uniform(1, 4))
    print(random.uniform(1, 4))
    print(random.uniform(1, 4))

     

    0.16567084025323453
    0.14044567563160837
    0.5147560972922339
    0.29403982123382055
    
    22
    10
    25
    1
    
    3.018462190456747
    2.094939621736902
    3.069349549453514
    1.4732419695228895

     

     

    3) datetime

     

     스탠다드 라이브러리에 있는 datetime 모듈은 '날짜'와 '시간'을 다루기 위한 다양한 클래스를 가지고 있습니다.
    .

    import datetime
    
    someday = datetime.datetime(2020, 7, 4)
    print(someday)
    print(type(someday))
    # 년도, 월, 일을 정해줄때
    
    
    someday = datetime.datetime(2020, 7, 4, 13, 22, 45)
    print(someday)
    # 년도, 월, 일, 시간, 분, 초까지 정해줄때
    
    
    today = datetime.datetime.now()
    print(today)
    # 오늘 날짜 출력

     

    2020-07-04 00:00:00
    <class 'datetime.datetime'>
    2020-07-04 13:22:45
    2020-06-30 00:03:28.538332

     

     

    <timedelta>

    # timedelta
    # 두 시간사이의 기간을 알고 싶을때는 time delta! (그냥 더하거나 빼면 된다.)
    
    import datetime
    
    timedelta = someday - today
    print(timedelta)
    print(type(timedelta))
    #두 시간 사이를 빼서 두시간 사이의 기간을 알아낸다. 
    
    
    my_timedelta = datetime.timedelta(4, 2, 30)  #  4일 2시간 30분
    print(today)
    print(today + my_timedelta)
    # timedelta를 미리 정해서 원하는 시간에 더해준다.

     

    4 days, 13:19:16.461668
    <class 'datetime.timedelta'>
    2020-06-30 00:03:28.538332
    2020-07-04 00:03:30.538362

     

     

    <datetime 데이터 추출과 datetime 포맷팅  >

    # datetime  값에서 값 추출
    import datetime
    
    today = datetime.datetime.now()
    
    print(today.year)
    print(today.month)
    print(today.day)
    print(today.minute)
    print(today.hour)
    print(today.second)
    # 다음과 같이 원하는 값을 불러올 수 있다. 
    
    
    
    # datetime 포맷팅: 내가 원하는 방식으로 시간을 출력할 수 있다. strftime을 이용한다. 
    
    today = datetime.datetime.now()
    print(today)
    print(today.strftime("%A, %B %dth %Y"))
    # strftime을 이용하면 좀 더 이쁘게 출력할 수 있다.

     

    2020
    6
    30
    3
    0
    28
    2020-06-30 00:03:28.539341
    Tuesday, June 30th 2020

     

     

    마지막으로 datetime formatting에 필요한 값들입니다!

    datetime모듈 formatting에 필요한 값들

    반응형

    댓글

Designed by Tistory.