클래스
객체를 표현하기 위한 문법. 클래스의 데이터을 속성이라 하고, 기능을 메서드라 한다.
이런 프로그래밍 방법을 객체지향 프로그래밍이라고 한다. ( 복잡한 문제를 잘게 나누어 객체로 만들고, 객체를 조합해서 문제를 해결)
class 클래스이름:
def 메서드(self):
코드
인스턴스 = 클래스()
클래스는 특정 개념을 표현만 할뿐 사용하려면 인스턴스를 생성해야한다!!
인스턴스.메서드()
메서드를 호출하는 방법이다. (메서드는 클래스가 아니라 인스턴스를 통해 호출한다)
객체와 인스턴스 같은 개념으로 볼 수 있다.
클래스에서 속성을 만들고, 사용하려면 init self속성에 값을 할당
class 클래스이름:
def __init__(self): # 인스턴스를 초기화 한다.
self.속성 = 값 # 중요함
self(?)
self 는 인스턴스 자기 자신을 의미한 한다.
인스턴스를 만들때 값 받기
self 다음에 값을 받을 매개변수를 지정합니다. 그리고 매개변수를 self.속성에 넣어줌
class 클래스 이름:
def __init__(self, 매개변수1, 매개변수2):
self.매개변수1 = 매개변수1
self.매개변수2 = 매개변수2
class Person:
def __init__(self, *args):
self.name = args[0]
self.age = args[1]
self.address = args[2]
sam = Person(*['sam', 30, 'marsfield'])
키워드 인수와 딕셔너리 언패킹
class Person:
def __init__(self, **kwargs):
self.name = kwargs['name']
self.age = kwargs['age']
self.address = kwargs['address']
sam = Person(**{'name':'sam', 'age': 30, 'address':'marsfield'})
__slots__ = ['속성이름1','속성이름2']
class 클래스이름:
def __init__(self, 매개변수):
self.__속성 = 값