def regist(name,sex):
print(name)
print(sex)
regist('sdd','man')
- 일반적인 함수 인자 방법
- 호출하는 로직에서 몇 개의 파라미터를 넘길지 모를떄는 어떻게해야하나..?
1. *arg
def regist(name,sex,*args):
print(type(args))
country = args[0] if len(args)>=1 else None
city = args[1] if len(args)>=2 else None
regist('soo','man')
regist('soo','man','korea','seoul')
- args로 들어온 값은 튜플로 저장
- args에서 값을 꺼낼 때는 인덱스를 이용(ex:args[0],args[1])
- args라는 이름 외 다른 이름으로 받아도 된다(ex:some_func(*kk))
2. **kwargs
def some_func(**kwargs):
print(type(kwargs))
print(kwargs)
name = kwargs.get('name') or ''
country = kwargs.get('country') or ''
print(f'name:{name}, country:{country}')
some_func(name='soo',country='kr')
# 딕셔너리에서 dict['name'] 시도시 name 이라는 키가 없을 때 에러 발생
# 이 떄 dict.get('name') 으로 시도하면 name이라는 키가 없을 때
# 에러나지 않고 None이 반환되어 상대적으로 안전
# dict.get('name') or 의 의미는 name 이라는 키가 있으면 value를 꺼내오고
# 키가 없으면 빈문자열('')을 받는다고 의미
- ** 딕셔너리형태로 저장
- *args와 **kwargs 같이 사용 가능하다
def regist(name,sex, *args, **kwargs):
print(name)
print(sex)
print(args)
print(kwargs)
regist('seo','man','korea','seoul',phone=01,email='d@d')'Study Note > Airflow' 카테고리의 다른 글
| [Airflow] 날짜 개념 (0) | 2024.04.10 |
|---|---|
| [Airflow] Jinja 템플릿 (0) | 2024.04.10 |
| [Airflow] 파이썬 오퍼레이터 (0) | 2024.04.06 |
| [Airflow] E-mail 오퍼레이터 (0) | 2024.04.06 |
| [Airflow] Task 연결하기 (0) | 2024.04.03 |