YUYANE

Python/ default argument로 None을 주자 본문

Programming Languages/PYTHON

Python/ default argument로 None을 주자

YUYA 2020. 12. 16. 16:22

매개 변수를 가진 함수를 작성했다. 만약에 사용자가 입력값을 주지 않았다면?

예외를 던지는 방법도 있겠지만, 조금 더 책임감 있는 코드 작성이 필요하다. 

 

Solution: default argument 값으로 None을 주자.

- 값을 따로 주지 않으면 입력값을 주지 않았을 시에는 실행 자체가 안된다.

- None이 아닌 다른 값을 준다면, 예상하지 못하거나 실제와는 전혀 다른 값이 해당 변수의 값으로 잡힐수도 있다.

def add_to_dict(a=None,b=None,c=None):

  if type(a) is dict:
    if b is not None and c is not None:
      if b in a:
        print(f"{b} is already on the dictionary. Won't add.")
      else:
        a[b]=c
        print(f"{b} has been added.")
    elif c is None:
      print("You need to send a word and a definition.")
  
  else :
      print("You need to send a dictionary. You sent: <class 'str'>")

 

 

**참고

unhashable.com/always-use-none-for-default-args-in-python/

'Programming Languages > PYTHON' 카테고리의 다른 글

Python/ Requests  (0) 2020.12.17
Python/ modules 과 import  (0) 2020.12.17
Python / 반복문  (0) 2020.12.16
Python / 조건문  (0) 2020.12.16
Python/ function  (0) 2020.12.15
Comments