- python 클래스 만들기
- python 특수한 메소드
- __init__
- __str__
class Human():
'''인간'''
def __init__(self,name,weight):
'''초기화 함수 (바로 호출)'''
self.name = name
self.weight = weight
print("{}의 이름과 몸무게를 등록합니다.".format(self.name))
def __str__(self):
'''문자열과 함수'''
return "{} (몸무게 {}kg)".format (self.name,self.weight)
def eat(self):
self.weight += 0.1
print("{}가 먹어서 {}kg이 되었습니다.".format(self.name, self.weight))
def walk(self):
self.weight -= 0.1
print("{}가 걸어서 {}kg이 되었습니다.".format(self.name, self.weight))
person = Human("사람",10.5) #person 객체 등록
print(person) #__str__ 문자열 바로 출력
person.eat()
person.walk()
#출력 결과
사람의 이름과 몸무게를 등록합니다.
사람 (몸무게 10.5kg)
사람가 먹어서 10.6kg이 되었습니다.
사람가 걸어서 10.5kg이 되었습니다.
- person객체에 Human Class를 적용하고 바로 name과 weight를 넣어준다.
- '__init__' 메소드는 객체 선언과 동시에 호출되는 메소드이다. (따로 호출 불필요)
- '__str__' 메소드는 print(객체)를 통해 바로 호출이 가능하다. (print를 이용)
- 인스턴스를 'self'로 선언했기 때문에 메소드 호출시 ()공간으로 두면 호출된다.
'Web Development > Python' 카테고리의 다른 글
(Python) Datetime 날짜 타입 (0) | 2022.10.13 |
---|---|
(Python) Comprehension (0) | 2022.10.13 |
(Python) 오버라이드 (0) | 2022.10.13 |
(Python) 상속 (0) | 2022.10.13 |