본문 바로가기
Programming/Python

함수(선언/전역변수/지역변수)

by 공부합시다홍아 2023. 10. 24.
 

Tuple(튜플)과 Dictionary(딕셔너리)

리스트(LIST 02) 리스트(LIST)_01 리스트(LIST)_01 문자열 다루기 문자열 다루기 제어문 - 반복문(for), 탈출문, 무한반복문 제어문 - 반복문(for), 탈출문, 무한반복문 제어문 - 반복문(while) 제어문 - 반복

hong-study.tistory.com


함수
  • 함수는 반복되는 코드 블록에 이름을 붙여놓은 것으로
  • 반복되는 코드를 줄여주고, 좀 더 구조화시켜 코드를 알아보기 쉽게 한다.
함수의 선언방법

def 함수이름 ( 매개변수 ) :


매개변수(Parameter)
    : 함수 정의시 지정하는 함수가 실행을 위해 필요한 값을 받을 변수
    : 함수안에서만 참조가 가능하다.

함수의 정의 (Definition)

def 이름(parameter1, parameter2) :
          print(parameter1, parameter2)

 

함수의 호출 (call)

함수이름( 인수또는 인자(Argument) )

함수 호출시 함수에 전달할 값이라 한다.

calc 함수에 1~10까지의 합을 구하는 코드를 작성한 이후 호출하는 소스코드

def calc():
    sum = 0

    for i in range(1,11):
        sum+=i
    print(sum)
    
calc()

결과 55


Return
  • 함수의 반환값은 함수가 실행한 결과를 전달하기 위해 사용한다.
  • 함수가 실행한 결과를 반환하는 값
  • 변수 또는 표현식의 결과는 모든 자료형이 가능하다.
  • return은 두번째의미로 함수의 종료를 뜻하기도 한다.
def add_num(x,y):
    
    result = x + y
    
    return result

add_num(3,5)

결과 : 8


예제1 조건에 따라 다른 값을 반환 ( 항상 큰 값에서 작은 값은 뺌 )

def sum_(a,b):
    
    result = 0
    
    if a>b:
        result = a - b
    else:
        result = b - a
        
    return result

sum_(100,10000)

결과 : 9900


예제 2 - 자연수 n을 매개변수로 받아서, n의 약수의 합을 반환하는 함수

def num(n):
    i = 1
    sum2 = 0
    
    while i<=n:
        if n%i == 0:
            sum2 += i
        i+=1
    return sum2

num(15)

결과 : 24


예쩨3 - 자연수 2개를 매개변수로 받아서, 두 수 사이의 합계를 구하는 함수

def num2(x,y):
    result = 0
    
    if x>y:
        for i in range(y,x+1):
            result += i
        return result
    else:
        for i in range(x,y+1):
            result += i
        return result
    
num2(1,10)

결과 55


예제3 - 자연수 n을 받아서 약수를 리스트로 반환하는 함수

def num4(n):
    i = 1
    result = []
    
    for i in range(1, n+1):
        if n % i == 0:
            result.append(i)
        i+=1
    return result

num4(4)

결과 : 1, 2, 4


전역변수
  • 함수 외부에서 만들어진 변수로, 어디서든 사용이 가능하다.
name = "홍길동"

def func1():
    print(name)
    
func1()

지역변수
  • 함수 내부에서 만들어진 변수로, 함수 안에서만 사용이 가능하다.
a = "전역변수"

def x():
    global a
    print('before', a)
    a = "지역변수"
    print("after", a)
    
x()

함수의 기본값 매개변수
  • Python에서는 매개변수의 기본값을 지정해서, 자주 수정하지 않는 매개변수는 기본 값으로 처리가 가능하다.
  • 기본 값을 가지는 매개변수는 일단 매개변수보다 뒤쪽에 선언되어야한다.
def calc(start, end, step=1):
    
    sum_=0
    
    for i in range(start, end+1, step):
    
        sum_+= i
    
    return sum_

calc(3,20)

def calc2(start=1, end, step=1):
    sum_=0
    
    for i in range(start, end+1, step):
    
        sum_+= i
    
    return sum_

calc2()

  • end만 비워두고, start 매개변수와 step 매개변수만 기본값을 준다면
  • 위 처럼 에러가 발생하게 된다.

키워드 인수
  • 함수 호출시 매개변수에 전달되는 값에 명칭을 직접 지정하여 전달이 가능하다.
  • 파라미터 이름을 포함한 인수 사용시 순서를 변경할 수 있다.
  • 기본값을 갖는 파라미터는 생략이 가능하다.
  • 필수 인수를 포함하지 않으면 에러가 발생한다.
  • 파이썬에서는 순서와 무관하게 직접 지정해서 값을 전달하는 방법을 제공한다.
def calc3(start, end, step):
    sum_=0
    
    for i in range(start, end+1, step):
    
        sum_+= i
    
    return sum_


calc3(step=1, end=10, start=2)
728x90

'Programming > Python' 카테고리의 다른 글

Tuple(튜플)과 Dictionary(딕셔너리)  (2) 2023.10.24
리스트(LIST 02)  (0) 2023.10.24
리스트(LIST)_01  (0) 2023.10.23
문자열 다루기  (2) 2023.10.20
제어문 - 반복문(for), 탈출문, 무한반복문  (0) 2023.10.19