프로그래밍을 하는 과정에서 여러가지 데이터(변수)와 이를 활용하는 기능(함수)을 모아놓은 구조
그저 단어의 첫글자를 대문자로 하여 클래스명을 정해주고 선언해주면된다.
class Human:
파이썬의 생성자이다.
생성자란 무엇이냐!? 클래스의 인스턴스가 생성될 때 자동으로 실행되는 기능을 생성자라고 칭한다.
class Human:
def __init__(self, name, age):
Human.name = name
Human.age = age
위의 코드는 휴먼이라는 클래스가 생성될때, 이름과 나이를 받아서 해당 클래스의 속성으로 부여하도록 하는 코드이다.
생성자는 인스턴스 자체를 의미하는 인자인 self를 꼭 첫번째 인자로 받아주어야 한다.
27세인 아이유라는 Human클래스를 생성하기 위해서는 다음과 같이 입력하여야 한다
leejieun = Human('아이유', 27)
만약 Human 클래스를 생성하는데 다음 attribute들을 넣지 않으면 오류를 뱉는다.
>>> Human()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() missing 2 required positional arguments: 'name' and 'age'
>>>
클래스 내에서 선언되어 사용되는 함수를 메소드라고 한다.
메소드의 선언은 다음과같다.
class Human:
def __init__(self, name, age):
Human.name = name
Human.age = age
def my_name_is(self) :
print(f"""my name is {self.name} and I am {self.age} years old.""")
아이유 27세를 휴먼클래스의 인스턴스로 만든 후, my_name_is 메소드를 호출해보자.
>>> a = Human('아이유', 27)
>>> a.my_name_is
my name is 아이유 and I am 27 years old.