Python-03.Function

안녕하세요 묵호입니다.
이번 글에서는 파이썬의 함수에 대해 적어보겠습니다.

저번 글에서 변수를 다뤘습니다. 변수는 컴퓨터 메모리에 저장되어 보관되고, 사용될 때는 변수의 메모리 주소값을 불러와 사용됩니다.
간단하게 설명하자면 사람(변수)이 A아파트의_B동_C호(메모리)에 살고(저장됨), 해당 사람에게 입대(변수 사용)시키기 위해서는 해당 주소로 입영 영장을 보내야 합니다.
변수의 사용에 따른 메모리 변동을 시각화한 사이트입니다.

함수

함수라는 단어는 수학 공부할 때 다들 들어보셨을 것입니다.
y = f(x) = 3x + 2 라는 함수가 있다면, f(2) = 8 라는 결과가 도출됩니다. 이와 같이 파이썬에는 여러 함수가 있습니다.

print(abs(-9)) # 절댓값
print(pow(3, 2)) # x의 n제곱
print(round(4.3)) # 반올림
print(round(-3.5)) # 반올림
print(pow(abs(-2), round(4.3)))
# 9
# 9
# 4
# -4
# 16

물론, 이 말고도 더 많은 종류의 함수가 있습니다.
변수의 타입을 바꾸는 함수도 있고

print(int(34.6))
print(int(-4.3))
print(float(21))
# 34 (실수형 변수를 정수로 변환하게 되면, 소숫점 이하는 버려집니다.)
# -4
# 21.0

변수의 메모리 주소와 타입을 알려주는 함수, 최댓값, 최솟값을 알려주는 함수도 있습니다. 위 경우와 아래 경우는 내장함수라고 합니다.

print(id(-9))
print(max(9, 2))
print(min(4, 5))
# 2112378679184
# 9
# 4



사용자 지정 함수

자 그렇다면 우리가 직접 함수를 만들 수는 없을까요? 세 가지 예시를 만들어 보겠습니다.

def sum_(x, y):
    return x + y
def sum_2(x, y):
    result = x + y
    return result
def hi():
    print('hello')
print(sum(3, 6))
print(sum(2, 5))
hi()
# 9
# 7
# hello

파이썬에서 함수는 def라는 예약어를 통해 만듭니다. def 함수명(매개변수): 의 구조를 가집니다. 함수 안에서 일련의 과정을 거쳐 결과값을 return하거나, 함수 안에서 print()문을 통해 출력하는 식으로 사용하며, 함수 안에서 다른 함수를 호출하기도 합니다.
아, sum_2 함수 안에 있는 result 변수는 ‘지역변수’입니다. 지역변수는 해당 함수 안에서만 사용 가능하며, 함수 밖에서는 접근 및 사용이 불가합니다. 이와 반대로 프로그램 어디서나 사용할 수 있는 함수는 전역변수라고 합니다.

음.. 글을 적다 느끼는 거지만, 최대한 쉽게 적으려다 보니 빼는 내용이 많아 걱정입니다. 이해가 필요한 부분들 중 몇 가지를 빼고 적는 중이라 혹 이 글을 읽으시는 분들이 오히려 이해하기 어렵지 않을까라는 생각이 듭니다. 내용 첨가할 것이 있다면 댓글로 남겨주시면,, 감사한 마음으로 추가하도록 하겠습니다.
다음 시간에는 문자열에 대해 알아보겠습니다.
그럼.. 바위^^