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 |
Tags
- phython
- CSS
- wecode
- 위코드
- HTML
- CSS #HTML #코드
- Coding
- TIL #todayilearn #math #javascript #js #자바스크립트 #절댓값 #최댓값 #랜덤 #random #floor
- 오블완
- html #css #코딩 #입문 #코딩시작하기 #코딩입문 #파이썬 #자바스크립트 #비전공자 #비전공 #코딩학원
- 프리워커스
- django
- SSAFY
- dangerouslySetInnerHTML
- Python
- 코딩
- 티스토리챌린지
- Web
- comprehension
- 프로그래밍폰트
- listdir
- dumpdata
- 싸피
- VSCode
- 파이썬
- LIST
- vscode설치
- 역사
- loaddata
- 파라미터
Archives
- Today
- Total
당신의 친절한 이웃, 코딩맨
# 15 Python 위치 인수(positional arguments)와 가변 인수(variable argumetns)의 오류들 본문
Today I Learn (TIL)
# 15 Python 위치 인수(positional arguments)와 가변 인수(variable argumetns)의 오류들
이웃집 친구 2020. 6. 24. 20:00반응형
①
def func_param_with_var_args(name, *args, age):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("정우성", "01012341234", "seoul", 20)
- 옵셔널 파라미터 중 여러개의 파라미터를 입력받는 *arg 파라미터는 TIL#13에서 소개한 바와 같이, 제일 끝에 위치해야한다.
- 해당 호출 argument에서 name과 age에 알맞은 값이 들어가게 순서를 바꾼다.
수정 후
def func_param_with_var_args(name, age, *args,):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("정우성", 20, "01012341234", "seoul")
출력 :
name=정우성
args=('01012341234', 'seoul')
age=20
②
def func_param_with_kwargs(name, age, **kwargs, address=0):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print(“kwargs=“,end=“”), print(kwargs)
print(“address=“,end=“”), print(address)
func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul")
- 키워드 파라미터 kwarg가 position argument 사이에 껴있다. - 위치 수정 필요
- 키워드 파라미터를 뒤로 보내서 신택스 오류를 해결
※ ** 키워드 파라미터: key, value값의 딕셔너리 형태로 결괏값이 나온다.
수정 후
def func_param_with_kwargs(name, age, address=0, **kwargs):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul",)
출력:
name=정우성
age=20
kwargs={'mobile': '01012341234'}
address=seoul
③
def mixed_params(name="wecode", *args, age, **kwargs, address):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
mixed_params(20, "정우성", "01012341234", "male" ,mobile="01012341234", address="seoul")
- 함수의 파라미터의 배치가 잘 못 되어 있다.
- 호출의 arguments의 배치가 잘 못 되어 있다.
- **kwarg는 제일 뒤로 배치
- 파라미터 address의 재배치
- age는 보통의 position argument 이기 때문에 앞 순으로 배치
- address는 입력값에서 정의되었기 때문에, *arg와 **kwargs 사이 배치
def mixed_params(age, name="wecode",*args, address, **kwargs):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
mixed_params(20, "정우성", "01012341234", "male", mobile="01012341234",address="seoul")
출력:
name=정우성
args=('01012341234', 'male')
age=20 kwargs={'mobile': '01012341234'}
address=seoul
'Today I Learn (TIL)' 카테고리의 다른 글
#17 Python module과 package 이용 예제, 오류 대처 방안 (0) | 2020.06.28 |
---|---|
#16 Python module 과 package를 python은 어떻게 찾을까? (0) | 2020.06.28 |
# 14 Python - Function Parameters(함수의 파라미터), optional parameter (옵셔널 파라미터) (0) | 2020.06.24 |
#13 CSS의 정의와 역할 (0) | 2020.06.23 |
#12 HTML의 역사 그리고 정의 (0) | 2020.06.23 |
Comments