코딩테스트/파이썬 알고리즘

Study-[Python_모듈/함수/패키지/메소드]

창빵맨 2021. 12. 7. 16:22

오늘은 파이썬에서의 모듈,함수,패키지,메소드등의 차이점에 대해서 공부했다.

갑자기 이걸 공부한 이유는 다른 사람의 코드들을 보다보면 내가 처음안 코드들이 있는데 예를 들어 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 등이 존재한다. 

 

728x90