파이썬TIL(package, Module)

김현진·2020년 11월 15일
0

파이썬TIL

목록 보기
4/4

Module ,Package란

  • 모듈이란 각종 변수, 함수, 클래스를 담고 있는 파일

  • 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일

  • 패키지는 여러 모듈을 묶은 것(특수기능이 필요할때 패키지를 불러오면됨)

  • 파이썬을 설치할 때 다양한 모듈과 패키지가 기본으로 설치 됨

  • 만약 기본 모듈과 패키지로 부족하다면 다른 사람이 만든 유명모듈과 패키지를 설피해서 쓸수도 있음

  • 파이썬을 배우다 보면 모듈, 패키지, 파이썬 표준 라이브러리와 같은 용어를 접하게 되는데 서로 비슷한 개념이지만 약간의 차이가 있음

    • 모듈: 특정 기능을 .py 파일 단위로 작성한것
    • 패키지: 특정 기능과 관련된 여러 모듈을 묶은 것입니다. 패키지는 모듈에 네임스페이스를 제공
    • 파이썬 표준 라이브러리: 파이썬에 기본으로 설치된 모듈과 패키지, 내장함수를 묶어서 파이썬 표준 라이브러리라 부름

import 모듈 가져오기

import module
import modul1, module2


import math

math.pi # 3.141592......

math.sqrt(4.0) # 2.0

math.sqrt(2.0) # 1.14121.....

import as 모듈 가져오기

  • 모듈의 이름의 별명을 부여 할 수 있다.
import math as m

m.pi # 3.141592....

from import로 모듈의 일부만 가져오기

  • from 모듈명 import 변수 or 함수 or 클래스

    from math import pi # math모듈에 있는 pi만 가져다 쓰겠다!
     from math import sqrt # math모듈에 있는 sqrt만 가져다 쓰겠다.
    
    pi # 3.141592
    
    sqrt(4.0) # 2.0
    

from import로 모듈 전부 가져오기


from math import *

pi #3.141592.....

sqrt(4.0) # 2.0

import로 패키지 가져오기

  • 패키지와 모듈을 헷갈릴 수 있는데 패키지는 폴더라고 생각하면되고 모듈은 .py파일이라고 생각하면 이해하기 쉽다. 폴더(패키지)안에 여러가지의 모듈(.py)들이 모여있다고 생각하면 된다.
import 패키지.모듈

import 패키지.모듈1 , 패키지.모듈2

import 패키지.모듈.변수

import 패키지.모듈.함수()

import 패지키.모듈.클래스()

import urllib.request as r # urllib 패키지의 request 모듈을 가져오면서 이름을 r로 지정

# from urllib import request as r 바로 위에서 선언한거랑 똑같은 문법

response = r.urlopen("http://www.google.com") # r로 urlopen 함수 사용

response.status # 200

모듈과 패키지 만들기

예제1

# test.py

base = 2

def square(n):
  return base**n # 제곱해주는 함수


# test2.py

import test

print(test.base) # 2
print(test.square(2) # 4

예제2

# person.py

class Person:

class Person:
  def __init__(self, name, age, address):
    self.name = name
    self.age = age
    self.address = address
  
  def greeting(self):
    print("안녕하세요 저는 {}입니다.".format(self.name))
    

# main.py


import person
# from person import Person as p
# from person import Person


p1 = person.Person("김현진", 20, "인천")
p1.greeting()

예제3

폴더구조

# main.py

from calcpkg import operation

add = operation.add(1,2)

print(add) # 3

# calcpkg/operation.py

def add(a, b):
  return a + b

def mul(a, b):
  return a * b

__init__.py 용도

__init__.py 파일은 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다. 만약 __init__.py 파일이 없다면 패키지로 인식되지 않는다.

profile
기록의 중요성

0개의 댓글