아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
고결한친칠라53
고결한친칠라5320.10.11

파이썬 format 함수 질문

책에서

소수점 표현하기

y = 3.42134234

>>>"{0:10.4f}" .format(y)

' 3.4213'

으로 나오는데 "{0:10.4f}"에서 10.4f가 무엇을 의미하는지 자세하게 알려주세요

55글자 더 채워주세요.
답변의 개수
4개의 답변이 있어요!
  • "{0:10.4f}" .format(y)를 실행해보면 ' 3.4213'와 같이 소수 앞에 빈자리가 있는 것을 확인 할 수 있습니다. 여기서 4f는 소수점 4자리까지 표현하라는 의미이고 10은 총 자리수를 10으로 맞춘다는 의미입니다. 따라서 10.4f은 소수를 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춘다는 의미입니다. 결과를 보면 앞에 빈자리가 4자리이고 나머지 '.'을 포함한 숫자가 6자리인 것을 알 수 있습니다.


  • 0:10은 10자리를 채우는 것입니다.

    3.4213이 10자리 미만이기 때문에 오른쪽으로 정렬이 됩니다.

    .4f는 소수점 4자리까지 출력을 하겠다는 뜻입니다.

    아래 코드를 한번 돌려보면 좀더 쉽게 이해가 되지 않을까 합니다.

    // 자리수 확인 코드 y = 1.42134234 print("{0:10.4f}" .format(y)) y = 12.42134234 print("{0:10.4f}" .format(y)) y = 123.42134234 print("{0:10.4f}" .format(y)) y = 1234.42134234 print("{0:10.4f}" .format(y)) y = 12345.42134234 print("{0:10.4f}" .format(y)) // 소수점 자리수 확인 코드 y = 3.42134234 print("{0:10.1f}" .format(y)) print("{0:10.2f}" .format(y)) print("{0:10.3f}" .format(y)) print("{0:10.4f}" .format(y)) print("{0:10.5f}" .format(y)) print("{0:10.6f}" .format(y))


  • "{0:10.4f}"에서 10.4f가 무엇을 의미하는지 자세하게 알려주세요 라고 질문을 해주셨네요^^

    우선

    f 는 실수를 나타내는것이구요

    10 은 총 출력되는 자리수이며

    .4 는 소수점 몇자리 까지 출력되는지 지정을 해주는것입니다

    그래서 '%10.4f' 는

    '____3.4213' <= 이렇게 출력이 됩니다 ' 3.4213' 는 아닙니다^^

    '_' <= 이 기호는 공란대신 눈에 띄기 쉬우라고 적은 기호입니다, 실제 출력시 기호갯수만큼 공란이 출력됩니다


  • >>> y = 3.42134234 >>> "{0:0.4f}".format(y) '3.4213'

    format 함수를 사용해 소수점을 4자리까지만 표현하고자 할때 위와 같이 사용하게 됩니다. 즉 여기서 '.'의 의미는 소수점 포인트를 말하고 그 뒤의 숫자 4는 소수점 뒤에 나올 숫자의 개수를 말합니다.

    >>> y = 3.42134234 >>> "{0:10.4f}".format(y) ' 3.4213'

    질문주신 코드의 경우는 숫자 3.42134234를 소수점은 4자리까지만 표현하고 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하라는 문장입니다. 정렬방식에 대한 코드가 따로 있지만 문자열 자릿수를 지정한 후 정렬방식을 선택하지 않으면 기본으로 오른쪽 정렬이 적용됩니다.

    추가로 정렬방식에 대해 설명드리자면

    - 왼쪽 정렬

    >>> "{0:<10}".format("hi") 'hi '

    :<10 표현식을 사용하면 치환되는 문자열을 왼쪽으로 정렬하고 문자열의 총 자릿수를 10으로 맞출 수 있습니다.

    - 오른쪽 정렬

    >>> "{0:>10}".format("hi") ' hi'

    오른쪽 정렬은 :< 대신 :>을 사용하며 화살표 방향을 생각하면 어느 쪽으로 정렬되는지 바로 알 수 있을 것입니다.

    - 가운데 정렬

    >>> "{0:^10}".format("hi") ' hi '

    :^ 기호를 사용하면 가운데 정렬도 가능합니다. 공백 공간을 확인하고 싶다면 아래와 같이 공백 채우기를 해보시면 이해가 빠르게 되실겁니다.

    - 공백 채우기

    >>> "{0:=^10}".format("hi") '====hi====' >>> "{0:!<10}".format("hi") 'hi!!!!!!!!'

    정렬할 때 공백 문자 대신에 지정한 문자 값으로 채워 넣는 것도 가능하며 채워 넣을 문자 값은 정렬 문자 <, >, ^ 바로 앞에 넣어주시면 됩니다.