Python - Modules

jinatra·2021년 7월 15일
0

Modules


Modules?

from module_name import object_name

함수나 변수, 또는 클래스를 모아놓은 파일
다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일

  • 모듈(module) : 특정 기능을 .py 파일 단위로 작성한 것
  • 패키지(package) : 특정 기능과 관련된 여러 모듈을 묶은 것
  • 파이썬 표준 라이브러리(library) : 파이썬에 기본으로 설치된 모듈과 패키지
from datetime import datetime

current_time = datetime.now()

print(current_time)

# Output: 2021-07-15 17:03:41.674781

Modules: Random

import random
(모듈 가져오기)

  • random.choice() → list, string 중 랜덤한 요소 반환
  • random.randint() → 인자로 들어온 a, b 사이의 랜덤한 정수(int)를 반환
# 1~100 사이의 수 랜덤 선정

import random

random_list = [random.randint(1,100) for i in range(101)]

randomer_number = random.choice(random_list)

print(randomer_number)

# Output: 7

Modules: Namespaces

import module_name as name_you_pick_for_the_module
(import 모듈 as 이름)

모듈의 이름 지정

from matplotlib import pyplot as plt
import random

numbers_a = range(1, 13)

numbers_b = random.sample(range(1000), 12)

plt.plot(numbers_a, numbers_b)

plt.show()

# matplotlib 라이브러리의 pyplot 모듈을 이 Python에서 plt으로 지정


Modules: Decimals

decimal 모듈은 빠르고 정확하게 자리 올림 하는 십진 부동 소수 산술을 지원

파이썬 표준 라이브러리 << 참조

from decimal import Decimal

two_decimal_points = Decimal('0.2') + Decimal('0.69')
print(two_decimal_points)

four_decimal_points = Decimal('0.53') * Decimal('0.65')
print(four_decimal_points)

# Output: 0.89
# Output: 0.3445

Modules: Files and Scope

한 모듈에서 정의된 개념을 다른 모듈로 불러오려면, import를 이용하여야 함

function이 function 안에서만 own scope을 가지고 있듯이,
file, class의 경우에도 own scope을 가지고 있다.

# library.py

def always_three():
  return 3
# script.py
from library import always_three

print(always_three())

# Output: 3
# 라이브러리 library로부터 always_three 모듈을 불러와야 적용된다




Take Away

Module → 불러오기

결국 파이썬 내에 내장되어 있거나, 혹은 다른 누군가 만들어놓은 라이브러리에서 특정 기능을 빼와서 그거를 쓴다는 개념인 것인가?
그렇게 생각하면 위의 datetime 이나 랜덤으로 12가지의 수를 뽑아서 그래프를 만드는 것이 어느정도 이해가 간다
문제는 이와 같은 모듈, 혹은 라이브러리가 잘 정리되어 있는 곳이 있는것일까?
한번 찾아봐야 겠다


어려움

솔직히 코드 카피만 진행한 것이 대부분이기 때문에 이전 TIL처럼 내가 직접 나에 관련된걸 코딩해보고 이런게 없어서 불안하다..

profile
으악

0개의 댓글