class Human():
"""사람"""
person1 = Human()
person2 = Human()
클래스에 함수를 넣을 수 있음
class Human():
"""사람"""
#클래스 Human의 인스턴스로 person1, person2 만듦
person1 = Human()
person2 = Human()
person1.language = "한국어"
person2.language = "English"
print(person1.language)
print(person2.language)
>>>한국어
English
person1.name = "한국인"
person2.name = "인도인"
#class, instance를 만드는 이유
#사람이 볼 때 이해도가 높아짐,
#speak이라는 함수 생성
def speak(person):
print("{}이 {}로 말을 합니다.".format(person.name, person.language))
speak(person1)
speak(person2)
한국인이 한국어로 말을 합니다.
인도인이 English로 말을 합니다.
#클래스 안에 나중에 값을 추가할 수 있으며 speak를 Human클래스로 들어가게 하고 싶다면
Human.speak = speak
person1.speak()
person2.speak()
>>> 한국인이 한국어로 말을 합니다.
인도인이 English로 말을 합니다.
: class로 현실의 개념을 표현
class Human():
"""인간"""
# person = Human()
# person.name = name
# person.weight = weight
# 새로운 사람정보를 추가할 때마다
# 이렇게 반복해서 적기 힘드니 함수를 만들자
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()
>>>
철수가 걸어서 60.4kg이 되었습니다
철수가 먹어서 60.5kg이 되었습니다
철수가 걸어서 60.4kg이 되었습니다