Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬
- 알고리즘
- sklearn
- 오라클
- level 1
- 빅분기
- 빅데이터 분석 기사
- Oracel
- 튜닝
- R
- Python
- 머신러닝
- matplotlib
- level 2
- python3
- Numpy
- seaborn
- 코딩테스트
- Kaggle
- 카카오
- 데이터 분석
- 실기
- pandas
- SQL
- oracle
- 실습
- 프로그래머스
Archives
- Today
- Total
라일락 꽃이 피는 날
[Python] 함수 인자 (argument) 본문
728x90
인자 (argument)
def func(arg):
print(arg)
def func(arg):
print(arg)
func(1) # 1
def func(arg1, arg2):
print(arg1, arg2)
func('a', 'b') # a b
func('a') # Error
func('a', 'b', 'c') # Error
기본 인자 (default argument)
def func(arg=1):
print(arg)
def defaultArg(arg=0):
print(arg)
# 기본 인자값 사용
defaultArg() # 0
# 인자에 10 전달
defaultArg(10) # 10
def multiDefault(arg1=0, arg2=0, arg3=0):
print(arg1, arg2, arg3)
# 기본 인자값 사용
multiDefault() # 0 0 0
# 1번째 인자에 10 전달
multiDefault(10) # 10 0 0
# 1, 2번째 인자에 10, 20 전달
multiDefault(10, 20) # 10 20 0
# 1, 2, 3번째 인자에 10, 20, 30 전달
multiDefault(10, 20, 30) # 10 20 30
# 인자 명을 명시하여 사용
# arg3 인자에 30을 전달하고 나머지는 기본 인자값 사용
multiDefault(arg3=30) # 0 0 30
# arg2, arg3 인자에 20, 30을 전달하고 나머지는 기본 인자값 사용
multiDefault(arg2=20, arg3=30) # 0 20 30
디폴트 파라미터 뒤에 일반 파라미터가 위치할 수 없다.
def test(a, b, c = 1):
def test(a, b = 1, c = 2):
def test(a = 1, b = 1, c = 3):
def test(a, b = 1, c): # Error
def test(a = 1, b, c): # Error
def test(a = 1, b = 1, c): # Error
가변 인자 (variable argument)
지정된 수의 인자만을 사용하는 것이 아닌 가변적으로 변경되는 인자를 사용하고자 할 때 쓰인다.
def func(*args):
print(args)
def variableArg(*args):
print(args)
variableArg(1) # (1,)
variableArg(1, 2) # (1, 2)
variableArg(1, 2, 3) # (1, 2, 3)
variableArg(1, 2, 3, ('a', 'b')) # (1, 2, 3, ('a', 'b'))
def variableArg(arg, *args, darg=1):
print(arg, args, darg)
variableArg(1) # 1 () 1
variableArg(1, 2) # 1 (2,) 1
variableArg(1, 2, 3) # 1 (2, 3) 1
variableArg(1, 2, 3, darg=10) # 1 (2, 3) 10
키워드 가변 인자 (keyword variable argument)
지정된 수의 인자만을 사용하는 것이 아닌 가변적으로 변경되는 인자를 사용하고자 할 때 쓰인다.
인자를 사용할 때, 키=값의 쌍으로 사용한다.
def func(**kwargs):
print(kwargs)
def keyVariable(**kwargs):
print(kwargs)
keyVariable(a=10) # {'a': 10}
keyVariable(a=10, b=20) # {'a': 10, 'b': 20}
keyVariable(a=10, b=20, c=30) # {'a': 10, 'b': 20, 'c': 30}
def keyVariableArg(arg, *args, k=10, **kwargs):
print(arg, args, k, kwargs)
keyVariableArg(1) # 1 () 10 {}
keyVariableArg(1, 2) # 1 (2,) 10 {}
keyVariableArg(1, 2, 3) # 1 (2, 3) 10 {}
keyVariableArg(1, a=1) # 1 () 10 {'a': 1}
keyVariableArg(1, 2, 3, a=1) # 1 (2, 3) 10 {'a': 1}
keyVariableArg(1, 2, 3, a=1, b=2) # 1 (2, 3) 10 {'a': 1, 'b': 2}
keyVariableArg(1, 2, 3, a=1, b=2, k=3) # 1 (2, 3) 3 {'a': 1, 'b': 2}
728x90
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 람다 함수 (lambda function) (0) | 2021.06.04 |
---|---|
[Python] Scope (스코프) (0) | 2021.06.04 |
[Python] 함수 (def) (0) | 2021.06.04 |
[Python] String (문자열) (0) | 2021.06.01 |
[Python] dictionary (사전) (0) | 2021.06.01 |