파이썬/파이썬(python) 초급

[8-2 파이썬 ] 함수 파라미터 여러개, 위치 인자, 키워드 인자, parameter, positional argument, keyword argument

Olivia-BlackCherry 2022. 8. 15. 18:35

함수의 기본구조와 파라미터, 아규먼트의 차이에 대해 알고 싶다면 

지난 게시글을 확인하기를 바란다. 

https://olivia-blackcherry.tistory.com/69

 

[8-1 파이썬] 함수, parameter, argument, 함수의 기본구조, 함수 변수, 파라미터와 아규먼트 차이

1. 함수의 기본 구조 def function(): 무언가를 실행하기 또 무언가를 실행하기 그리고 또 실행하기 def 로 함수라는 것을 정의하고 함수의 이름을 정하고 ( ) 괄호를 넣고 : 콜론으로 한 줄 마무리를

olivia-blackcherry.tistory.com

 

1. 함수의 파라미터가 2개 이상인 경우

 크게 어려울 것이 없다. 

그냥

콤마 ' , ' 로 연결해주면 된다. 

 

 

2. Positional argument  위치인자

def function(첫번째 파라미터, 두번째 파라미터):
    do something...

funtion(첫번째 아규먼트, 두번째 아규먼트)  <--------위치인자

함수를 호출할 때

어떤 파라미터에 어떤 데이터가 할당 될지

위치만으로 결정하기 때문에 

Positional argument

위치 인자라고 한다. 

position뜻: 위치

 

argument 아규먼트는 위치값을 갖는데,

첫 번째 아규먼트첫 번째 파라미터의 값이 된다. 

두 번째 아규먼트두 번째 파라미터의 값이 된다. 

따라서 입력값의 위치는 중요한다. 

 

만약 아래의 코드에서

아규먼트의 위치를 바꾸면 어떻게 될까?

아규먼트의 위치에 따라

name = "seoul"

location = "olivia"

값을 할당받기 때문에,,,

 

말도 안되는 출력값이 나왔다. 

 

 

3. Keyword Arguments 키워드 인자

def function(첫번째 파라미터, 두번째 파라미터):
    do something...

funtion(첫번째 파라미터=첫번째 아규먼트, 두번째 파라미터=두번째 아규먼트)  <--------키워드인자

함수를 호출할 때

각각의 파라미터의 이름과 등호를 이용해

인자에 정확한 값을 할당한다. 

 

함수이름(name = "Olivia", location = "Seoul")

처럼 말이다.

 

 

4. 실전예제

1. 방의 크기를 랜덤하게 받는다. parameter: 높이, 길이
2. 페인트 1통에 5제곱미터를 쓸 수 있다. 
3. 필요한 페인트 수를 자동으로 구하는 함수 만들기

 

5. 무엇을 쓸까?

위치 인자, 키워드 인자나

무엇을 써도 상관은 없다. 

키워드 인자를 쓰면 실수 없이 정확히 쓸 확률이 높지만, 

코드가 길어진다. 

 

상황에 맞게 자신에게 맞는 것을 사용하기를 바란다.