Web Development/Python

(Python)Class 만들기와 함수, 특수한 메소드

seongduck 2022. 10. 13. 22:42
  • 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