개발/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 이 되었습니다.