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

'코딩테스트 > 파이썬 알고리즘' 카테고리의 다른 글

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
'코딩테스트/파이썬 알고리즘' 카테고리의 다른 글
  • Algorithms-[Dynamic_Programming]
  • Algorithms-[Que & Stack]
  • Algorithms-[Euclidean algorithm & The Sieve of Eratosthenes ]
  • Functions-[collections-(counter & most_common())]
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    파이썬
    백준
    나동빈
    그리디
    DFS
    이것이취업을위한코딩테스트다
    이분탐색
    dp
    BFS
    이코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바