211120 TIL

CoderS·2021년 11월 20일
0

TIL DAY 107

오늘 배운 일

✔️ 프로그래밍 기초 in Python

  • format을 이용한 문자열 포맷팅

    예 )

    위에 있는 문자열을 출력해보겠다.

    먼저 각 년, 월, 일을 변수로 선언하고...

    print함수를 이용해서 출력해보겠다.

    결과값 :

    • 에러가 발생하는데, 그 이유는 변수들이 다 정수형이라 문자열이랑 더할 수 없다.

    해결방법으로...

    결과값 :

    • str을 이용해서 정수형에서 문자열로 바꿔준다.
    • 아무런 이상없이 출력이된다.

    하지만 쓰면서 생각이드는 것은, 이렇게 번거롭게 작성해야 싶기도한다...

    방법이 없을까??

    format 메소드를 사용해서 간단하게 만들어보겠다.

    먼저..

    변수를 선언하지않고 숫자도 문자열로 작성하고...

    다음으로...

    변수로 선언할 숫자들을 빈 중괄호로 대체한다.

    그리고...

    문자열 맨끝에, .format( )을 작성하고, 그 안에는 문자열 순서대로 year, month, day라고 작성한다.

    결과값 :

    • 아무런 이상없이 출력이된다.

    더 이해하기 쉽게 만들고싶으면...

    위에 코드처럼, date_string이라는 변수에 해당 문자열을 넣어주고 print 함수에 그 변수이름을 대입시켜서 출력시키면...

    똑같이 위에 코드처럼 출력이된다.

    만약에 다음날을 출력하고싶으면...

    day 뒤로 + 1이라고 작성하면된다.

    결과값 :

  • format 다루기 (심화)

    이번에는 format 메소도안에 문자열을 순서대로 작성하면...

    결과값 :

    • 왼쪽부터 시작해서 오른쪽으로 넘어가는 것이라 마지막은 빌 게이츠를 좋아합니다라고 출력이된다.

    format 메소드안에 있는 문자열을 다른 순서로 작성해보면..

    결과값 :

    • 문자열 안에 있는 중괄호안에 숫자들을 넣어주는데, 프로그래밍에서는 숫자를 셀때는 1부터 시작하지않고 0부터 시작한다.

      그러니까 0, 1, 2, 3 이렇게 시작된다.

    문자열에 숫자들을 넣었을 때...

    결과값 :

    이렇게 출력되는 이유는 우선 num_1은 1이고, num_2는 2이다.
    문자열 안에 중괄호를 0, 1, 2 순서대로 대입시키고, format 메소드 안에는 num_1, num_2 그리고 둘의 나눗셈인 num_1 / num_2이라고 작성한다.

    1/3은 0.3333이라서 위에처럼 출력이된다.

    만약에 소수점 두 번째 자리로 반올림하고 싶으면...

    중괄호 2안에 콜론을쓰고 .2f라고 작성하면된다.
    f는 floating point(소수형)의 약자
    앞에 .2는 소수점 두 번째자리로 반올림하라는 뜻이다.

    결과값 :

    만약에 정수로 출력하고 싶으면...

    숫자 0을 붙이면 정수로 출력이된다.

    결과값 :

    • 1 / 3은 0.3333이므로 정수형태로 바꾸면 0이다.

    오래된 방식 (% 기호)

    결과값 :

    이제는 잘 쓰지 않은 옛날 방식으로, %s와 %d같은 '포맷 스트링'이라는 것을 사용한다.

    새로운 방식 (f-string)

    결과값 :

    • 파이썬 버전 3.6부터 새롭게 나온 방식이다.
    • 문자열 맨앞에 f를 작성하고, 중괄호 안에 각 변수를 대입시킨다.

끝으로 :

  • 오늘은 Python의 format 메소드와 변수를 사용해서 문자열을 출력하는 것에 대해 배웠습니다.
  • 자바스크립트에서는 없는 메소드를 사용하니까 혼돈이오면서 오늘 배운 것을 내것으로 만들어야겠다.
profile
하루를 의미있게 살자!

0개의 댓글