본문 바로가기
Computer & Program/python

[python] function (함수) - 01

by TDRemon 2024. 2. 21.
반응형

안녕하세요. TDR입니다.

오늘은 python function(함수)의 여러가지 사용법을 정리해 보겠습니다.

Structure

def 함수이름(매개변수들):
    ...
    return 반환값들

함수 선언은 def 키워드를 통해 이루어지고 다른 언어와 다른 점은 python에는 변수의 타입을 지정하지 않기 때문에 반환 타입 역시 지정하지 않습니다. 그리고 return 값으로 여러개를 반환이 가능합니다! (이거 정말 편합니다!)

def multi_return():
    return 1, 2, 3

a, b, c = multi_return()  # a = 1, b = 2, c = 3
result = multi_return()   # type(result) : tuple, result = (1, 2, 3)

여러개의 return을 나눠서 받으면 각각의 값으로 들어오고, 하나의 변수로 받게되면 tuple 형태로 반환이 됩니다. 참고로, return [1, 2, 3]과 같이 list 형태로 반환을 했을 경우에도 나눠서 받으면 각각의 값을 반환하고 하나의 변수로 받게되면 list 형태로 받게 됩니다.

DocString

def some_function():
    """
    Java의 @JavaDoc과 유사한 기능
    함수 선언 바로 밑에 와야 함
    함수 사용 시 여기에 넣은 문구 확인 가능
    """

다른 언어의 경우 함수 바로 위에다 쓰는 경우가 많은데 python은 조금 특이하게 함수 아래 쓰도록 되어 있습니다.

Unpacking(언팩킹)

def unpacking(a, b):
    print(a)
    print(b)

list_obj = [1, 2]
# *list_obj는 list를 풀어서 전달 (unpacking)
unpacking(*list_obj)  # unpacking(1, 2)와 동일

이것도 은근히 많이 쓰는게 매번 함수에 값을 전달 할 때 일일이 값을 풀어서 전달할 필요가 없어서 편합니다. 일반적으로 다른 함수들의 경우 collection 자체를 전달해서 함수 내부에서 값을 꺼내서 쓰는데 그럴경우 직관성이 떨어져서 그다지 좋은 방법은 아니라고 생각됩니다.

더 자세한 내용은 2부에 이어서 진행하겠습니다. 2부 링크는 다음과 같습니다.

 

[python] function(함수) - 02

안녕하세요. TDR 입니다. 지난번 함수 1부에 이어 가변인수, 키워드 인수 등에 대해서 정리해 보겠습니다. [python] function (함수) - 01 안녕하세요. TDR입니다. 오늘은 python function(함수)의 여러가지 사

tdremon.tistory.com

 

반응형

'Computer & Program > python' 카테고리의 다른 글

[python] 지역변수 & 전역변수  (0) 2024.02.23
[python] function(함수) - 02  (0) 2024.02.22
[python] closure(클로저)  (0) 2024.02.17
[python] lambda(람다)  (0) 2024.02.16
[python] reduce 함수  (0) 2024.02.15

댓글