매개변수 = 함수를 정의할 때 사용되는 이름
실행인자 = 함수를 실행하여 넘기는 변수
** 매개변수와 실행인자의 개수는 동일해야한다 **
>>> class Calculator:
def __init__(self):
self.result=0
def add(self,num):
self.result+=num
return self.result
>>>cal1=Calculator()
>>>cal2=Calculator()
>>>print(cal1.add(3))
>>>print(cal1.add(4))
>>>print(cal2.add(3))
>>>print(cal2.add(7))
class 로 정의된 부분과
호출하는 부분을 따로 나눠서 생각해보자!
1. 매개변수
class 안에서 함수를 정의할 때 사용되는 이름
여기서 매개변수는 def __init__(self)의 self와 deff add(self,num)의 self,num 이 된다.
__init__ 와 add 에 있는 self 들은 같은 값을 의미하는 것이기 때문에, 이 class 안에서 매개변수는 총 2개가 쓰였다.
최초 실행될 때의 결과값은 0으로 시작한다.
def add(self,num) 에서 self=인스턴스 , num=매개변수1 로 지정하겠다.
이 add로 정의된 함수는 인스턴스와 매개변수1을 더한다는 의미로, 인스턴스는 전에 호출시 결과값으로 나왔던 값이다.
쉽게 얘기하면 최초실행때 add(3)을 했으면 결과값은 3이다. 2번째 실행시에는, 전에 결과값으로 나왔던 것이 호출되어 add(4) 라면, 3+4가 되어서 결과값은 7이 나오게 된다.
2. 실행인자
실행인자는 매개변수와는 다르게 class 안에서 이뤄지는게 아니라, class 밖에서 함수를 부를 때 사용된다.
위 코드에서 실행인자는
>>>cal1=Calculator()
>>>cal2=Calculator()
>>>cal3=Calculator()
>>>print(cal1.add(3))
>>>print(cal1.add(4))
>>>print(cal2.add(3))
>>>print(cal2.add(7))
>>>print(cal3.add(3))
이것이 된다.
변수의 말 그대로, 실행하기 위해 설정하는, 불러오는 인자들이다.
cal2=Calculator(), cal3=Calculator()
2개가 설정되었는데, 이것은 calA 와 calB를 정했다는 거여서, 같은 함수를 각각 다른 메모리(저장소)에서 사용해서 값을 각각 가지겠다는 의미이다.
그래서 각각 함수가 처음 실행될 때는 cal1 도 cal2 도 처음값을 0으로 가진다.
그 예
'파이썬 기초 > 파이썬' 카테고리의 다른 글
range,list (0) | 2020.01.27 |
---|---|
boolean, 비교연산자 (0) | 2020.01.24 |
매직 메소드, 스페셜 메소드 (0) | 2020.01.24 |
Class (0) | 2020.01.24 |
Calculator (0) | 2020.01.24 |