Python 31 - (복습) 클래스

2021. 5. 23. 17:06python

반응형

반복되는 변수 & 메서드(함수)를 미리 정해놓은 틀(설계도)

쉽게 비유하면 붕어빵을 계속해서 만들어내기 위한 틀 이라고 생각하면 된다.

 

result = 0

def add(num):
    global result      지역변수가 아닌 전역변수에 영향을 
    result += num      주려면 golbal을 써야한다.
    return result      지역변수 = 함수 밖에 있는 result
                       전역변수 = 함수 안에 있는 result
print(add(3))    ---> 출력값 3
print(add(4))    ---> 출력값 4
위 코드가 계속 반복되면 아래처럼 계속해서 늘어나고 귀찮아질 것이다.
이렇게 반복되는 변수 & 함수를 위해 클래스라는 것이 존재한다.
쉽게 말해서 똑같은 함수는 계속 반복되니까 하나의 설계도로 묶어놓자 한 것!

result1 = 0
result2 = 0

def add1(num):
    global result1     
    result1 += num     
    return result1      

def add2(num):
    global result2    
    result2 += num     
    return result2

print(add1(3)) 
print(add1(4))  

print(add2(3))  
print(add2(7))

아래는 클래스로 작성한 코드

class Calaculator:         class는 꼭 대문자로 시작.
    def __init__(self):
        self.result = 0

    def add(self, num):
        self.result += num
        return self.result


cal1 = Calaculator()
cal2 = Calaculator()

print(cal1.add(3))
print(cal1.add(4))
print(cal2.add(3))
print(cal2.add(7))
class FourCal:
    def setdata(self, first, second):
        self.first = first
        self.second = second
 
a = FourCal()        self에는 a가 들어가고
a.setdata(1, 2)      first에는 1이 들어가고, second에는 2가 들어간다.
print(a.first)       출력값은 1
print(a.second)      출력값은 2

보통게임NPC들 대화 말걸기 요론고에 많이 쓰이기도 한다.

class FourCal:
    def setdata(self, first, second):
        self.first = first
        self.second = second
    def add(self):
        result = self.first + self.second
        return result
a = FourCal()
a.setdata(4, 2)
print(a.add())      ---> 출력값6

클래스는 수 차례 복습하고, 더 깊게 알아봐야겠다. 이해하기 다소 어려운 부분이 있다.

반응형

'python' 카테고리의 다른 글

Python 33 - (복습) 모듈 , 패키지  (0) 2021.05.25
Python 32 - (복습) 상속  (0) 2021.05.24
Python 30 - (복습) 파일 읽고 쓰기  (0) 2021.05.22
Python 29 - (복습) 함수  (0) 2021.05.21
Python 28 - (복습) 반복문  (0) 2021.05.20