1. Module(모듈)
① 모듈 정의
모듈은 파이썬 정의와 문장들을 담고 있는 파일이다.
모듈은 이미 완성되어 있어 사용자가 가지고와서 그 모듈내의 객체와 객체멤버 사용한다.
② import 예시
import random
A=[1,5,6,8,7,6]
random.shuffle(A)
B=random.choice(A)
print(A) #[8, 7, 6, 1, 6, 5]
print(B) #8
모듈 내에서, 모듈의 이름은 전역 변수 __name__ 으로 제공된다.
import random
name=random.__name__
print(name) #random
random함수내에 shuffle을 쓰려면 항상 random.shuffle()으로 사용해야하는데, 이것이 불편하다면, 특정함수만 import할 수 있음.
from random import shuffle
name=['Valeria', 'Ines', 'Clara', 'Patria', 'Juan', 'Jose']
shuffle(name)
print(name)
2. Classes(클래스)
① 클래스 정의
- 클래스 = 과자 틀.
클래스(class)란 똑같은 무언가를 계속 만들어 낼 수 있는 설계 도면(과자 틀),
객체(object)란 클래스로 만든 피조물(과자 틀로 찍어 낸 과자)을 뜻한다.
- 사용자가 직접 객체를 선언하고 객체 멤버를 구성하여 사용.
- 클래스에 의해 생성된 객체를 인스턴스라고 부르며 클래스는 용도와 목적에 맞게 상속을 통한 인스턴스화, 인터페이스 구현이 가능.
- 클래스 안에 구현된 함수 = 메서드(method)
② 모듈과 클래스의 차이점
- 객체 멤버들을 캡슐화 시킨 후 가져다 사용한다는 부분에서는 동일하지만, 모듈은 import시켜 자유롭게 사용하지만, 클래스는 목적게 맞게 각 프로세스에 상속하여 사용함.
- 모듈은 내부 멤버 변경하여 사용할 수 없지만, 상속받은 클래스는 멤버를 자유롭게 변경할 수 있음.
③ 클래스 구조 만들기
class Calculator:
def __init__(self, first, second): # 메서드의 매개변수
self.first = first # 메서드의 수행문
self.second = second # 메서드의 수행문
def add(self):
result = self.first + self.second
return result
▶ 생성자란-> 객체가 생성될 때 자동으로 호출되는 메서드
메서드명으로 __init__를 사용하면 해당 메서드는 생성자가됨.
▶ self
a=Calculator
파이썬 메서드의 첫 번째 매개변수 이름은 관례적으로 self를 사용한다.
객체를 호출할 때 호출한 객체 자신이 전달되기 때문에 self라는 이름을 사용. self말고 다른 이름 사용 가능.
④ 그 외 특징 - 클래스의 상속, 매서드 오버라이딩
3. Instance (인스턴스)
① 인스턴스 정의
인스턴스는 클래스에 의해 만들어진 객체이다. 예를 들어 클래스를 과자틀이라고 한다면, 인스턴스는 만들어진 과자이다.
클래스를 이용하여 인스턴스를 계속적으로 만들어 낼 수 있다.
cf. 클래스의 객체(object)가 소프트웨어에 실체화되면 이제 그것을 인스턴스(instance)라고 부른다.
'Language > Python' 카테고리의 다른 글
for/ while (0) | 2023.07.04 |
---|