반응형
모델링(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)
반응형
'AI > python' 카테고리의 다른 글
파이썬 기초 11) Comprehension (0) | 2021.01.10 |
---|---|
파이썬 기초 10) 상속, 사용자 정의 예외 만들기 (0) | 2021.01.10 |
파이썬 기초 8) 자료형, 클래스와 인스턴스 (0) | 2021.01.10 |
파이썬 기초 7) 슬라이스 (0) | 2021.01.10 |
파이썬 count()와 len() 차이 (0) | 2021.01.10 |