git 바로가기
클래스
함수
클래스와 함수의 차이
전역변수, 지역변수
클래스
- 가장 흔한 예로 붕어빵틀이다.
- 인스턴스를 넣으면 넣는 인수에 따라 값을 출력해주는 역활
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))
출력결과
3
7
3
10
함수
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
클래스와 함수의 차이
- 클래스는 클래스 (객체를 인스턴스화 할 수있는 템플릿)를 정의하는 데 사용됩니다.
- def는 함수 또는 메서드를 정의하는 데 사용됩니다. 메서드는 클래스에 속한 함수와 같습니다.
class Foo:
def Bar(self):
pass
def Baz():
pass
f = Foo() # Making an instance of a class.
f.Bar() # Calling a method (function) of that class.
Baz() # calling a free function
전역변수, 지역변수
- 전역변수(global)
global로 정의하고 아래의 예에서는 원래대로라면 checkpoint의 gun은 함수안에서만 사용하는 것이지만 global로 정의 해 줬기때문에 바깥의 gun변수를 가지고 와서 사용할 수 있게 한다.
- 지역변수(local)
함수안에서만, 괄호안에서만 사용하는 변수로 바깥의 변수에는 영향을 끼치지 못한다.
gun = 10
def checkpoint(soldiers):
global gun
#gun = 20
gun = gun - soldiers
print("inside of function's gun : {0}".format(gun))
print("all gun : {0}".format(gun))
checkpoint(2)
print("all gun : {0}".format(gun))
출력결과
all gun : 10
inside of function's gun : 8
all gun : 8