맨체스터 사는 개발자

[Python] 클래스 메소드 본문

개발/Python

[Python] 클래스 메소드

aaamy91 2021. 11. 22. 08:52

우선 파이썬의 클래스는 

class 'class name'(): 의 형식으로 선언 가능하다.

 

클래스 메소드는 별건 아니고, 그냥 클래스의 멤버 함수라고 보면 된다.

파이썬은 들여쓰기가 C++ 에서 중괄호의 역할을 한다.

 

클래스 내의 __init__ 이나 __str__ 은 특수 함수이다.

__init__ 은 생성자의 역할을 한다고 보면 되고, __str__ 은 toString 의 역할을 한다고 보면 된다.

class Human():
    '''인간'''
    def __init__(self, name, weight):
        '''초기화 함수'''
        print("__init__ 실행")
        self.name = name
        self.weight = weight
        print("이름은 {}, 몸무게는 {}".format(self.name, self.weight))

    def __str__(self):
        '''문자열화 함수'''
        return "{} 몸무게 {} kg".format(self.name, self.weight)

    def eat(person):
        person.weight += 0.1
        print("{}가 먹어서 {}kg 이 되었습니다.".format(person.name, person.weight))

    def walk(person):
        person.weight -= 0.1
        print("{} 가 걸어서 {}kg 이 되었습니다.".format(person.name, person.weight))


person = Human("test", 84)
person.walk()
person.walk()
person.eat()
__init__ 실행
이름은 test, 몸무게는 84
test 가 걸어서 83.9kg 이 되었습니다.
test 가 걸어서 83.80000000000001kg 이 되었습니다.
test가 먹어서 83.9kg 이 되었습니다.

'개발 > Python' 카테고리의 다른 글

[Python] 상속과 오버로딩  (0) 2021.11.30
[Python] Slice 와 Step  (0) 2021.11.14
[Python] List 의 대표적인 기능들과 string  (0) 2021.11.12
[Python] if 문 관련해서  (0) 2021.11.12
[Python] raise  (0) 2021.11.11