[Python_basic]클래스, 함수

Ronie🌊·2021년 1월 8일
0

Python👨🏻‍💻

목록 보기
5/11
post-thumbnail

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
  • 하나이상의 기능을 동작시키는 것
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

0개의 댓글