class Human():
'''사람'''
person1 = Human()
person2 = Human()
person1.language = '한국어'
person2.language = '영어'
person1.name = '김한국'
person2.name = '김미국'
def speak(person):
print("{}이 {}로 말합니다.".format(person.name,person.language))
Human.speak = speak
speak(person1)
speak(person2)
클래스
*class 클래스명():
*클래스와 인스턴스를 이용하면
데이터와 코드를 사람이 이해하기 쉽게 포장할 수 있다.
*클래스에 함수를 넣을 수 있다.
class Human():
'''인간'''
person = Human()
person.name = '철수'
person.weight = 60.5
def create_human(name,weight):
person = Human()
person.name = name
person.weight = weight
return person
class Human():
'''인간'''
def create_human(name,weight):
person = Human()
person.name = name
person.weight = weight
return person
Human.create = create_human
person = Human.create("철수",60.5)
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))
Human.eat = eat
Human.walk = walk
person.walk()
person.eat()
person.walk()
클래스로 현실의 개념을 표현하는 것을 모델링이라고 한다.
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))
def speak(self, message):
print(message)
person = Human.create("철수",60.5)
person.speak("안녕하세요.")
'''
메소드(method)
*메소드는 함수와 비슷하다.
*클래스에 묶여서
클래스의 인스턴스와 관계되는 일을 하는 함수를 말한다.
'''
```py
class Human():
'''인간'''
def __init__(self,name,weight):
'''초기화 함수'''
self.name = name
self.weight = weight
def __str__(self):
'''문자열의 함수'''
return "{} (몸무게 {}kg)".format(self.name,self.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("사람",60.5)
print(person)
'''
특수한 메소드
* 초기화 함수: __init__
인스턴스를 만들 때 실행되는 함수
*문자열화 함수: __str__
인스턴스 자체를 출력할 때의 형식을 지정해주는 함수
'''