[Python기초]module

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!


파이썬 모듈 핵심 정리


모듈이란?

모듈은 함수, 변수, 클래스들을 모아놓은 파이썬 파일(.py)를 말한다.


모듈 사용

하나의 파일에 모든 코드를 넣지 않고, 함수나 변수, 클래스 단위로 별도의 파일을 만든다. 그리고 필요한 곳에서 import해서 사용할 수 있다.


모듈의 특징

  1. 경제적

    자주 사용되는 함수를 한번 작성해 놓고 여러 곳에서 import해서 사용

  2. 효율적

    코드를 기능에 따라 모듈 단위로 분리하여 설계함으로써 효율적인 개발 및 유지보수 가능

  3. 독립적인 네임스페이스(이름공간)

    모듈마다 서로 다른영역이므로, 동일한 이름의 함수나 변수들을 각 모듈에서 사용 가능


표준 모듈

파이썬에 내재되어 있는 표준 모듈들이 존재한다.
해당 코드를 통해 출력 가능

import sys

builtModules = sys.builtin_module_names
print(builtModules)


모듈 참조

  1. 모듈의 전체 참조
    import random
    # import 모듈명
    
  2. 모듈 내에서 일부만 참조
    • 형식1 : from 모듈명 import 변수 혹은 함수
       from random import randint, randrange
      
    • 형식2 : 모듈내에서 __로 시작하는 스페셜변수나 매직메서드를 제외한 모든 것을 참조
       from random import *
      
    • 형식3 : from 모듈명 import 변수명 혹은 함수명 as 별칭
       from random import randint, randrange as rnd
      


모듈 참조 연습

필자는 Day7\modules\calculator.py에 계산에 필요한 함수를 저장해 놓았다.

# 계산기 모듈
# calculator.py

def add(num1, num2):
    return num1 + num2

def sub(num1, num2):
    return num1 - num2

def mul(num1, num2):
    return num1 * num2

def div(num1, num2):
    return num1 / num2

def mod(num1, num2):
    return num1 % num2


모듈 참조 형식 1

import calculator
print(calculator.add(10,3)) # 13

# 모듈 전체를 불러왔기에 해당 모듈의 모든 함수를 사용 가능

모듈 참조 형식 2

from calculator import add, sub
print(add(10,3)) # 13
print(div(10,3)) # 오류 발생

# 모듈 calculator로 부터 add와 sub 함수의 기능만 불러왔다.
# 따라서 add함수는 잘 되지만 div함수는 에러가 난다.

모듈 참조 형식 3

from calculator import *
print(add(10,3)) # 13
print(div(10,3)) # 3.333333333333

# 매직메서드를 제외한 모든 함수를 불러온다.
# 두 함수 다 잘 작동한다.

모듈 참조 형식 4

from Day7.modules import calculator as cal

print(cal.add(10,20)) # 30

# Day7 폴더 안의 modules 폴더에서 calculator.py 모듈을 불러오는데 이 모듈을 cal로 alias 해서 사용할때 더 간편하게 사용할 수 있다.
# add 함수가 잘 작동한다.

2022

[web]jQuery 복습 3

2 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

16 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

9 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

2 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑