오늘은 파이썬에서의 모듈,함수,패키지,메소드등의 차이점에 대해서 공부했다.
갑자기 이걸 공부한 이유는 다른 사람의 코드들을 보다보면 내가 처음안 코드들이 있는데 예를 들어 import math, from collection 등 같은 것들 블로그를 쓸 때마다 이게 모듈인지 패키진지 뭐가 뭔지 몰랐다.
매번 흘려들어서 그냥 그런게 있다고만 알고 있었다. 그래서 이참에 정리해보려고 한다.
Module, Package, , Library 비교
1. Module
- 함수와 변수 클래스를 모아놓은 하나의 파일.
- 파일 이름이 모듈의 이름을 의미하고, 파일 형식이 py이다.
- explain이라는 모듈을 가져오기 위해서는 아래와 같이 import한다.
import explain
2. Package
- 모듈들을 모아놓은 하나의 디렉토리(directory) 이다.
- 패키지내 각 디렉토리에는 __init__.py 가 반드시 존재해야 한다
(파이썬 3.3부터는 없애도 되긴하지만 일반적으로 생성함).
- __init__.py 파일은 비어있을수도 있고, 패키지내에 포함된 모듈들의 정보를 제공하기도 합니다
3. Library
- 여러 패키지와 모듈들을 모아놓음
- 표준라이브러리-> time, sys, os, math, random, urllib 등
- 외부 3rd party에서 개발한 모듈과 패키지= 외부 라이브러리->requests, scrapy, webbrowser
라이브러리 ≥ 패키지 ≥ 모듈
Function(함수)와 Method(메서드)비교
1. Function
- 입력과 출력(or Not)을 가지며 연산을 수행한다.
- 내장함수, 외장함수,사용자 정의 함수, 람다함수가 있다.
- 내장함수는 Python이 자체적으로 제공하는 함수
- 외장함수는 우리가 따로 불러오는 함수
- 사용자 정의 함수란 사용자가 만들어 사용하는 함수 def를 사용한다.
- 람다함수란 익명 즉 함수 이름이 없는 함수로 1회용으로 한 줄에 정의하여 사용하는 함수
def function(val_1):
return val_1 ** 2
Method
- 클래스 안에 선언된 함수
- 클래스 안에서선언되어 메서드는 특정 객체에 종속된 함수를 의미한다.
- 메서드는 object(class)명.method명(인자)로 호출, 실행한다.
- append, sort, pop 등이 존재한다.
'코딩테스트 > 파이썬 알고리즘' 카테고리의 다른 글
Algorithms-[Dynamic_Programming] (0) | 2021.12.19 |
---|---|
Algorithms-[Que & Stack] (0) | 2021.12.07 |
Algorithms-[Euclidean algorithm & The Sieve of Eratosthenes ] (0) | 2021.12.01 |
Functions-[collections-(counter & most_common())] (0) | 2021.11.28 |
Function-[sys.stdin.readline()] (0) | 2021.11.27 |