데이터분석/Python 파이썬 1달만에 마스터하기

Day13 객체, class함수, __init__ 활용하기 [파이썬 1달만에 마스터하기]

어반닥터 2024. 1. 19. 12:50
728x90
반응형
지난 시간 리뷰

def reverseStr(my_string):
    strList = list(my_string)  # my_string 리스트화 하면 [b,r,e,a,d]
    strList.reverse()          # [d,a,e,r,b]
    word = ""
    for i in strList:
        word += i
    return word

a = reverseStr("bread")
print(a)  # daerb

todo_list = ["problemsolving","practiceguitar","swim","studygraph"]
finished = [True, False, True, False]

def haveto_List(todoList,finishedList):
    return [todoList[index] for index,item in enumerate(finishedList) if not item]
print(haveto_List(todo_list,finished))
Day 13


객체의 개념

객체란? 객체는 속성(변수)과 메서드(함수)를 하나의 단위로 묶은 것임. 예를 들어, 자동차를 객체로 생각하면 이 자동차 객체에는 여러 속성 (색상, 브랜드, 연식 등)과 메서드 (운전하기, 정지하기, 경적 울리기 등)가 있음. 

속성: 속성은 객체의 특징을 나타냄. 예를 들어, 자동차의 색상 (빨강,파랑),
브랜드 (BMW, 테슬라), 연식 (2020년,2021년) 등이 속성에 해당함.


메서드: 메서드는 객체가 수행할 수 있는 행동임. 예를 들어,
"DRIVING", "HONKING", "INTRODUCING" 등의 기능을 수행하는 것이 메서드에 해당함. 

객체의 생성자 (CONSTRUCTOR)

생성자는 객체가 생성될 때 자동으로 호출되는 특별한 메서드로,
파이썬에서는 __init__ 메서드를 사용하여 생성자를 정의함

(Class 활용 예시1)

class Car:
    def __init__(self,b,n,c): #변수/구조체 [명사/상태]
        self.brand = b
        self.name = n
        self.color = c

    def introduce(self):
        print(f"차의 이름은 {self.name} 브랜드는 {self.brand} 차 색깔은 {self.color}입니다 ")
    def horning(self):
        print("빵빵 경적 울립니다~")
    def driving(self):
        print("부릉부릉 앞으로 갑니다~")

a = Car('Hyundai','k5','black')
b = Car('Kia','모닝','purple')
a.driving()  #부릉부릉 앞으로 갑니다~
a.introduce() #차의 이름은 k5 브랜드는 Hyundai 차 색깔은 black입니다
b.horning()  #빵빵 경적 울립니다~
b.introduce() #차의 이름은 모닝 브랜드는 Kia 차 색깔은 purple입니다

(class 활용 예시 2)

class Dog:  #강아지키우기 게임
    def __init__(self,n):
        self.hp = 100     #max 200
        self.stress = 50  #max 100
        self.name = n
    def eating(self):
        if(self.hp >= 200):
            print('체력이 꽉 찼습니다.')
            print(f"현재 체력은 {self.hp} 입니다.")
            self.hp = 200
        else:
            self.hp += 50

a = Dog('mega')

a.eating()
#체력이 꽉 찼습니다.
#현재 체력은 200 입니다.

 

반응형