jm_p_op
**kwargs, funtion(input) 본문
https://www.youtube.com/watch?v=eUEmOHrHga8
내용을 읽어보는 도중 문득 들은 생각 input값에서 a,b,c,d값이 딕셔너리의 순서대로 나오는것 아닐까란 생각에 테스트를 진행한다.
def fun1(a,c,b,d):
print(a,b,c,d)
test={"c":3,"a":1,"b":2,"d":4}
fun1(test)
funt1(c=3,a=1,b=2,d=4)
#1 2 3 4
#1 2 3 4
순서에 상관없이 값을 지정해준다.
fun1(1,2,3,b=4)
fun1을 정의할때 a,c,b,d순으로 정의가 된다.
즉 a=1, c=2, b=3 ,b=4 가 됨으로 다음과 같은 에러가 뜬다
Traceback (most recent call last):
File "c:\Users\jakep\Desktop\sparta\py\kwargs_test.py", line 7, in <module>
fun1(1,2,3,b=4)
TypeError: fun1() got multiple values for argument 'b'
fun1(a=1,2,3,4)
초반에 a=1로 인풋값으로 들어가면서 뒤에 2,3,4값도 해당 키값을 설정해줘야 함으로 다음과 같은 에러가 뜬다.
File "c:\Users\jakep\Desktop\sparta\py\kwargs_test.py", line 7
fun1(a=1,2,3,4)
^
SyntaxError: positional argument follows keyword argument
함수에서 인자값을 설정해둔다면 함수를 쓸때 input값이 없을시 그 값으로 돌게 된다.
def fun1(a,c,b,d=5):
print(a,b,c,d)
test={"c":3,"a":1,"b":2,"d":4}
fun1(**test)
fun1(1,2,3)
##1 2 3 4
##1 3 2 5
'py' 카테고리의 다른 글
py실험실-list 만드는 속도 측정(그래프) (1) | 2023.12.21 |
---|---|
.py SpeechRecognition 3.10.0 import에러 (0) | 2023.05.23 |
.py 실험실 공간할당(list붙이기) (0) | 2023.05.06 |
.py dictionary , sorted (0) | 2023.04.21 |
.py Truthy&Falsy (if type) (0) | 2023.04.05 |