바뀜
편집 요약 없음
return 반환값
return 반환값
</syntaxhighlight>
</syntaxhighlight>
|-
|함수의 타입을 지정할 때
(타입 힌팅)
(입력)
|함수가 받아들이는 타입을 제한할 수 있다.<syntaxhighlight lang="python">
def 함수명(인수1: 타입, 인수2: 타입 = 기본값):
명령
return 반환값
</syntaxhighlight>타입을 제한하고 기본값을 넣을 수도 있다.
|-
|함수의 타입을 지정할 때
(타입 힌팅)
(반환)
|함수가 밷는 타입에 대한 힌트를 줄 수 있다.<syntaxhighlight lang="python">
def 함수명(인수, 인수2) -> 타입:
명령
return 반환값
</syntaxhighlight>반환 타입을 지정한다. 리스트 따위를 넣을 수 있다.
|-
|-
|함수에 대한 설명을 넣을 때
|함수에 대한 설명을 넣을 때
주어진 인수의 갯수를 넘어 더 많은 인수를 기입하게 되면 튜플형태로 입력된다.
주어진 인수의 갯수를 넘어 더 많은 인수를 기입하게 되면 튜플형태로 입력된다.
args 안에 데이터가 담겨, 이를 이용할 수 있다.
|<syntaxhighlight lang="python">
|<syntaxhighlight lang="python">
def 함수명(인수1, 인수2, ..., *인수):
def 함수명(인수1, 인수2, ..., *args):
명령
for i in args:
명령
return 반환값1, 반환값2, ...
return 반환값1, 반환값2, ...
</syntaxhighlight>가변인수는 가장 뒤에 두며, 이들은 튜플형태로 저장된다.
</syntaxhighlight>가변인수는 가장 뒤에 두며, 이들은 튜플형태로 저장된다.
일반적으로 arguments의 약자인 args를 쓴다.
일반적으로 arguments의 약자인 args를 쓴다.
|-
|-
|튜플이 아닌 딕셔너리로 가변인수
|튜플이 아닌 딕셔너리로 가변인수.
args와 같이 쓰면, 데이터만 들어온 경우 args에 튜플로 담기고,
<code>변수명 = 3</code> 형태로 들어온 경우 kwargs에 사전형으로 담긴다.
|<syntaxhighlight lang="python">
|<syntaxhighlight lang="python">
def 함수명(인수1, 인수2, ..., **인수):
def 함수명(인수1, 인수2, ..., **kwargs):
명령
for x, y in kwargs.items():
명령
# 아래처럼 사용할 수도 있다.
request = kwargs.get('변수명', None) # None 자리엔 없을 때 넣을 기본 값.
return 반환값1, 반환값2, ...
return 반환값1, 반환값2, ...
</syntaxhighlight>딕셔너리 인수를 넣을 땐 <code>키=값</code> 형태로 기입한다.
</syntaxhighlight>딕셔너리 인수를 넣을 땐 <code>키=값</code> 형태로 기입한다.
일반적으로 keyword arguments의 약자인 kwargs를 쓴다.
일반적으로 keyword arguments의 약자인 kwargs를 쓴다.
|}
=== 간단하게 사용할 팁 ===
{| class="wikitable"
!상황
!방법
|-
|함수를 반복해 사용하는데, 사용되는 변수가 너무 많을 때.
함수를 쓸 때마다 모든 변수를 기입해 넣는 것은 굉장히 불편한 일이다.
때문에 사전 안에 모든 변수값을 기입해 넣는 방식이 잘 쓰인다.
|<syntaxhighlight lang="python">
def 함수명(인수1, 인수2, 인수3=기본값):
명령
return 반환값1, 반환값2, ...
사전 = {'인수1':값,
'인수2':값2,
'인수3':값3.....}
# 다음과 같은 형태로 함수에 사전을 넣으면 인수명에 값이 대응된다.
함수명(**사전)
</syntaxhighlight>
|}
|}
===사용===
===사용===