YoungSoo

Python - 함수 본문

BE/Python

Python - 함수

YoungSooSoo 2022. 12. 13. 11:13

이번에는 Python의 함수에 대해 공부해보려고 한다. 함수란 무엇일까?

함수란 입력받은 값을 통해 어떤 일을 수행한 후 결과 값을 리턴하는 것을 함수라고 한다.

함수에 대해 더 알아보자.

함수

  • 구조
    • def 함수명(매개변수): <수항핼 문장> ...
  • 함수 예제
    • def add(a, b): return a+b a=3 b=3 c=add(a, b) print(c) >> 7
  • 매개변수 : 함수에 입력으로 전달된 값을 받는 변수
  • 인수 : 함수를 호출할 때 전달하는 입력 값
  • 입력 값과 결과 값에 따른 함수의 형태
    • 일반적인 함수
    • def add(a, b): return a+b a=3 b=3 c=add(a, b) print(c) >> 7
    • 결과 값이 없는 함수
    • def add(a, b): print("%d, %d의 합은 %d 입니다.", % (a, b, a+b)) add(3, 3) >>3, 3의 합은 6입니다.
    • 입력 값도 결과 값도 없는 함수
    • def say(): print("Hi") say() >>HI
    • 매개변수 지정하여 호출하기
    • def add(a, b): return a+b result = add(a=3, b=3) print(result) >>6
  • 여러 개의 입력 값을 받는 함수
  • def add_many(*a): result = 0 for i in a: result += i return result
  • 키워드 파라미터
    • 키워드 파라미터는 매개변수 앞에 **을 붙이고 딕셔너리로 만들어 준다.
  • def add(**a) print(a) add(a=1) >> {'a' : 1}
  • 여러 개의 결과 값(하나)
    • 반환 값이 여러 개라면 변수에 튜플로 저장이 된다.
  • def add(a,b): return a+b, a*b result = add(3,4) result = (7, 12)
  • 함수 안에서 선언한 변수의 효력 범위
    • 함수 test안에 있는 a는 매개변수지 변수 a가 아니기 때문에 1이 나온다.
    • 만약 변수 a의 값을 바꾸고 싶다면 a=test(a)를 하면 된다.
  • a=1 def test(a): a = a + 1 test(a) print(a) >>1
  • lambda
    • 람다를 사용해 이런식으로도 함수를 만들 수 있다.
    • lambda 예약어로 만든 함수는 return 명령어가 없어도 결과값을 돌려준다.
  • add = lambda a, b: a+b result = add(3,4) print(result) >>7

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

Python - 클래스  (0) 2022.12.17
Python - 파일 읽고 쓰기  (0) 2022.12.16
Python - 입력과 출력  (0) 2022.12.14
Python - 제어문  (2) 2022.12.12
Python - 자료형  (2) 2022.12.09