자동차 클래스를 정의해보자
class Car :
def __init__(self,maker,model,horse_power) :
self.maker = maker
self.model = model
self.horse_power = horse_power
def honk(self) :
return f"{self.maker} 빠라바라바라밤"
hyundai = Car("현대","제네시스",500) # 클래스의 instance 생성
print(hyundai.model) # 출력 : 제네시스
print(hyundai.honk()) # 출력 현대 빠라바라바라밤
정리
맨 처음 init 메소드는 클래스가 실체화, 즉 instance로 만들 때 호출되는 메소드이다
클래스를 실체화 시키면 객체(object)가 된다
init 메소드의 좌,우에는 두 개의 underscore(__)가 있다. 이렇게 생긴 메소드들을 special method라고 부른다
self는 클래스의 instance인 객체(object)를 가르킨다. self는 init 메소드가 실행될때 자동으로 객체화되어 넘어간다.
클래스 내부에서 정의된 함수를 메소드라고 한다.
모든 메소드의 첫번째 인자는 무.조.건 self가 들어가야 한다.
import 키워드 외에 from import 키워드를 사용해서 모듈을 불러들일수 있다.
예를 들어 my_module 모듈에서 my_module_func 함수와 my_module_var 변수를 import 하고자 한다면 다음처럼 할 수 있다
from my_module import my_module_func, my_module_var
별표를 사용하면 해당 요소 모두 import 가능하다. 하지만 변수명의 충돌 오류가 일어날수 있다.
from my_module import *
import as 키워드를 사용해 원하는대로 새로운 이름을 주어서 사용할 수 있다.
# my_module.py의 my_module_func()를 func1로써 사용하겠다.
from my_module import my_module_func as func1
# my_module2.py의 my_module_var()를 func2로써 사용하겠다.
from my_module2 import my_module_var as func2
# my_module3 모듈을 m3로써 사용하겠다.
import my_module3 as m3
Package는 여러 개의 파이썬 파일(module)로 이루어진 디렉토리이다.
Module과 똑같은 방식으로 import 해주면 된다. 'dot notation'으로 사용하고 싶은 모듈을 지정해주면 된다.
#pkg 패키지의 mod1 모듈을 import
import pkg.mod1
#pkg2 패키지의 module2의 function_2()를 func2로써 사용하겠다.
from pkg2.module2 import function_2 as func2
Package가 import될때 초기 설정을 해줘야 할 때가 있는데 init.py에 의해서 자동적으로 실행된다.
init.py에서 일반적으로 실행되는 사항들이다
다름 사람의 패키지를 사용하기 위해서는 패키지를 설치해줘야 한다. PIP이라는 툴을 사용해야 하는데 PIP은 파이썬의 패키지 매니저라고 할 수 있다.
ex) django 패키지를 설치할 때
터미널에 입력하는 명령
pip install django