1
python replit 23-54
2
online session <백엔드 개발자가 하는 일>
3
*args 와 **kwargs
4
function parameters
단순히 월과 일에 1씩 더하면 되는 게 아니라
월에 따라서 적용해야 하는 식이 달라서 많이 헤맸다. 결국 구글링 . . 구글링하고 광명찾자!
참고 :
1, 3, 5, 7, 8, 10, 12 -> 31일
4, 6, 9, 11 -> 30일
2 -> 28일
고려사항 :
12월 31일 -> 1월 1일
if문을 사용해 일일히 case 분류를 하자 기괴한 코드가 등장했다. 아무리봐도 이건 pass가 떠도 양심에 찔린다 싶을 정도여서 공개하지않는다..
#문제 월(month)와 일(day), 2가지를 input 값으로 받습니다. 2019년의 해당 월과 일의 다음 날의 월과 일을 출력해주세요.
해답은 간단했다. 말일이 같은 월을 모아서 변수를 지정한다.
if month == 4 or 6 or 9 or 11 :
day_length = 30
# 다른 월도 마찬가지로 day_length를 지정
day가 day_length보다 작으면 day + 1
day가 day_length와 같으면 다음달로 ! ( month + 1, day = 1)
if day < day_length :
day +=
else :
day = 1
if month == 12 :
month =1
else :
month +=
# 12월은 특별케이스니까 따로 조건 정리
python 에서는 함수에 넘길 parameter을 직접 선언해야 한다. 함수를 지정할 땐 parameter을 두 개로 설정해도 언젠가는 함수의 parameter을 세개, 네개로 변경해야할 수도 있고 더 나아가 필요한 parameter의 수가 무한히 많아질 수도 있다. 하지만 그럴때마다 함수를 수정하거나 쓸지 안쓸지도 모를 parameter을 모두 선언할 순 없다. 이 문제를 해결하기 위해 args 와 kwargs가 등장한다 !
args와 kwargs는 아주 다양하고 무한한 숫자의 arguments를 함수로 보낼 수 있게 도와준다.
parameter의 이름은 얼마든지 변경 가능하다. 그렇기때문에 '*'(asterisk)
의 개수를 정확히 입력해서 사용하고자 하는 argument를 지정해야한다.
반환되는 값이 딕셔너리의 형태로 저장된다.
def order(**kwargs) :
print(kwargs)
order(coffee='Americano', sugar='No', size = 'Grande')
#('coffee' : 'American', 'sugar':'No', 'size':'Grande')
이 친구들과 함께라면 argument가 어떠한 형태라도! 무한히 많아도! 허용가능하다.
Python replit ->링크