RyanNerd
라덕'Story
RyanNerd
  • 분류 전체보기 (60) N
    • Study Note (25) N
      • Python (3)
      • R (1)
      • Airflow (7)
      • 통계 (14) N
    • 빅데이터분석기사 (1)
      • 필기 (1)
    • Programmers (28)
      • Python (13)
      • SQL (15)
    • Project (3)
      • Django (3)
    • Mac (2)
    • 맛집 (0)

블로그 메뉴

  • NaverBlog
  • 홈

최근 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
RyanNerd

라덕'Story

Study Note/Airflow

[Airflow] Python 함수 인자

2024. 4. 7. 17:07

 

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
    'Study Note/Airflow' 카테고리의 다른 글
    • [Airflow] 날짜 개념
    • [Airflow] Jinja 템플릿
    • [Airflow] 파이썬 오퍼레이터
    • [Airflow] E-mail 오퍼레이터
    RyanNerd
    RyanNerd
    라이언 덕후의 일상 스토리~

    티스토리툴바