반응형

 

 

 

모델링(modeling)

  • 클래스로 현실의 개념을 표현하는 것

 

 

메소드(Method)

  • 메소드는 함수와 비슷하다.
  • 클래스에 묶여서 클래스의 인스턴스와 관계되는 일을 하는 함수

클래스 내부에 함수를 포함시킨 예

class Human( ):
    '''인간'''
    def create( name, weight ): # 다음 강의에서 자세히 설명
        person = Human()
        person.name = name
        person.weight = weight
        return person

    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.create("철수", 60.5)
person.eat()

 

self

  • 메소드의 첫번째 인자
  • 인스턴스의 매개변수를 전달 할 때는 self 매개변수는 생략하고 전달
class Car():
    '''자동차'''
    def run( self ):
        print("{}가 달립니다.".format(self.name))


taxi = Car()
taxi.name = "택시"
taxi.run()

 

 

 

 

 

 

특수한 메소드

초기화 함수

  • __init__ : 인스턴스를 만들 때 실행되는 함수

문자열화 함수

  • __str__ : 인스턴스 자체를 출력 할 때의 형식을 지정해주는 함수
class Human( ):
    '''인간'''
    def __init__( self, name, weight ):
        '''초기화 함수'''
        self.name = name
        self.weight = weight

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

person = Human( "사람", 60.5 ) # 초기화 함수 사용
print( person ) # 문자열화 함수 사용

 

예시 )

class Human():
    
    def __init__(self, name, weight):
        self.name = name
        self.weight = weight
    
    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클래스의 인스턴스로 만들어보세요.
person = Human("두리", 3.2)
person.walk()
person.walk()
person.eat()

print(person)

 

 

 

 

반응형

+ Recent posts