함수(파이썬)

함수


함수 : 파이썬의 함수는 수학의 함수와 동일하다. input을 넣으면 특정 기능을 수행한 결과를 oup으로 반환

함수는 파이썬에서 기본으로 제공하는 내장함수와 사용자가 직접 선언하는 사용자 함수로 구분된다.

  • 함수를 사용 하는 이유 : 특정 기능을 재사용하기 위해서 !
  • 함수 선언, 함수명의 첫글자는 소문자가 관례이고 기능을 위해 사용하므로 동사로 짓는다.
  • 함수명 바로 아래에 """"""로 주석처리하고 설명을 쓸시에, 함수에 대한 설명을 shift+tap으로 독스트링으로 읽을 수 있다.
def 함수명(inputdata):
    """
    함수에 대한 설명
    """
    블라블라블라

함수 내에서 또 다른 함수를 호출할 수 있다.

  • pass를 이용해서 실행문을 생략할 수 있다.

  • 인수와 매개변수

def greet(customer):
    print(f"customer")
    
greet("홍길동")
  • 홍길동이라는 인수를 함수에 전달하면 customer="홍길동" 처럼 변수에 할당된다. 이 때 customer은 호출부와 선언부를 이어준다는 의미에서 매개변수라 부른다.
  • 인수와 매개변수의 갯수는 동일해야 한다.
  • 여러개의 인수를 받을 때 : 매개변수 개수가 정해지지 않은 경우 '*'를 이용한다. 튜플로 인식된다.
def printNumber(*numbers):
    for number in numbers:
        print(number, end='')
    print()
  • **kwargs :별표 두개면 keyword arguments, 딕셔너리형태로 들어감.
def drawPlt(**kwargs):
    endTime = kwargs.get("endTime", 1)
    amp = kwargs.get("amp", 1)
    
drawPlt(endTime=5, amp=1)
#이렇게 명시하면 명시한 값으로 들어가고 아니면 오른쪽의 기본 값으로 들어감
  • eturn 키워드를 이용하면 함수 실행 결과를 호출부로 반환할 수 있다, 반환할게 없으면 꼭 쓰지는 않아도 됨
def calculator(n1, n2):
    return n1 + n2
# 함수 호출부로 실행 결과를 반환
  • 함수가 return을 만나면 실행을 종료하고 결과를 반환한다.

  • 전역변수 : 함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다.

  • 지역변수 : 함수 안에 선언된 변수로 함수 안에서만 사용 가능하다.

  • global : 함수 안에서도 전역변수의 값을 수정할 수 있다.

num = 10
def printNumbers():
    global num
    num = 20
    print(f"num : {num}")
output : 20
  • 중첩함수 : 함수안에 또 다른 함수가 있는 형태
def out_function():
    print("out_func called")
    
    def in_function():
        print("in_function called")
    in_function()
out_function()

output: out_func called
    	in_function called

내부 함수를 함수 밖에서 호출할 수 없다.

  • 람다함수(lambda) : 함수 선언을 보다 간단하게 할 수 있음
# 일반적인 함수
def calculator(n1, n2):
    return n1 + n2
# 람다 함수
calculator = lambda n1, n2 : n1+n2

좋은 웹페이지 즐겨찾기