211123 TIL

CoderS·2021년 11월 23일
0
post-thumbnail

TIL DAY 110

오늘 배운 일

✔️ 프로그래밍 기초 in Python

  • return문 제대로 이해하기

    예 )

    위에 코드가 어떻게 동작을할까?

    우선 return문의 역할은?

  • 무언가를 돌려주는 것 (함수가)

  • 함수 즉시 종료하기

    다시 돌아와서 위의 코드실행 순서는...

  1. print(square(3)) -> square함수를 호출하고

  2. 파라미터로 3을 넘겨준다. -> x = 3

  3. print("함수 시작")이 실행되고

  4. return 3 x 3은 9이며

  5. 그 다음 함수안의 코드는 종료되며, print("Hello World!")가 실행한다.
    return문 다음으로의 코드들은 실행을안한다!

    결과값 :

    print("함수 시작")처럼 아무런 의미가 없는 코드를 -> Dead Code라고 한다.

  • return과 print의 차이

    return문과 print문의 헷갈리는 사람들이 있다.
    이번에는 확실히 차이점을 알아보겠다.

    예 )

    print_square는 파라미터 x의 제곱을 출력해주는 함수이고,
    get_square는 파라미터 x의 제곱을 리턴해주는 함수이다.

    이 때, print_square 함수를 호출해본다.

    결과값 :

    • 정수 3을 넘겨줬기 때문에, 3 x 3은 9이다.

    이번에는 get_square 함수를 호출해분다.

    결과값 :

    • 함수안에서 return 3 x 3을하면서 9라는 값이 나오고, 함수는 종료된다.
    • 함수 호출부분이 9로 대체만 되고, 뭘 출력하라고 하는 print문은 존재하지 않아서 결과값이 없다.

    Nothing!

    그리하여, print문으로 감싸줘서 get_square 함수를 출력을하면..

    결과값 :

    다음으로, print문안에 print_square 함수를 감싸서 출력을하면...

    결과값 :

    • 먼저, print_square(3)를 계산하면, 3 x 3은 9이여서 9가 호출된다.

    • print_square 함수는 return문이 존재하지 않는다.

      Python에서는 return문이 따로 없으면, return값이 없다는 의미에서 None이라는 값이 리턴된다.

  • 옵셔널 파라미터 (optional parameter)

    파라미터는 함수를 호출할 때 값을 넘겨주는 역할을한다

    이 때, 파라미터에게 기본값(default value)을 설정할 수 있다.
    이러면 필수로 넘겨 줄 필요가 없다.

    예 ) myself 함수안에 nationality라는 파라미터의 값을 지정해 둘 때

    결과값 :

    • 함수안에 3개의 파라미터가 존재해서, 밑에서 함수를 호출할 때도 값을 지정해야한다.
    • 그런데 함수에서는 nationality를 미리 한국이라고 지정해둬서, 밑에서 함수를 호출할 때 굳이 세 번째 아규먼트에 값을 안 넣어도 자동으로 한국이라는 문자열을 문장안에 출력해준다.

    만약에 옵셔널 파라미터가 마지막이 아닌 중간이나 처음에 있으면?

    예 ) 중간에 옵셔널 파라미터를 지정해뒀다.

    결과값 :

    • 에러가 발생하는데, 그 이유는 무조건 옵셔널 파라미터는 마지막 맨 끝에 지정해둬야 한다!!!!

끝으로 :

  • 오늘은 return문이 어떤 순서로 실행이되거나, print문과의 차이점 무엇인지 그리고 옵셔널 파라미터에 대해 배우는 시간을가졌습니다.
  • return문은 전에 배워서 어떻게 동작하는지 알고있었고 옵셔널 파라미터 또 한, 자바스크립트에서 똑같은 역할을 한다.
profile
하루를 의미있게 살자!

0개의 댓글