아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
환한박새281
환한박새28121.04.08

파이썬 포맷지정데이터 #의 역할이 무엇인가요?

>>>print(" {:4d} {:09b} {:#05o} {:#05X}".format(200, 200, 200, 200))

200 011001000 0o310 0X0C8

>>> print(" {:#4d} {:#09b} {:#05o} {:#05X}".format(200, 200, 200, 200))

200 0b11001000 0o310 0X0C8

>>> print(" {:4d} {:09b} {:05o} {:05X}".format(200, 200, 200, 200))

200 011001000 00310 000C8

파이썬 포맷지정데이터 부분입니다.

{n:x} 이 괄호 안에서 #이 하는 역할이 무엇이길래 다른 값이 나오는 건가요?

그리고 2진수를 출력할 때는 #을 붙이지 않지만 다른 진수들을 출력할 때 #을 붙여야 하는 이유는 무엇인가요?

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자21.04.08

    안녕하세요

    * 진수 접두어

    - 2진수 : 0b

    - 8진수 : 0o

    - 16진수 : 0x

    formatter를 사용하여 진수를 표현한 것입니다.

    #의 의미는 해당 진수의 접두어입니다.


    - 10진수 값 : 200

    - 2진수 변환 값 : 11001000

    - 8진수 변환 값 : 310

    - 16진수 변환 값 : c8

    {:b} : 2진수 표현 => 11001000

    {:9b} : 2진수 표현, 값이 9자리 미만일 경우 왼쪽 공간에 space 채움 => 11001000

    {:09b} : 2진수 표현, 값이 9자리 미만일 경우 왼쪽 공간을 0으로 채움 => 011001000

    {:#09b} : 2진수 표현, 접두어(0b)를 넣고 접두어 포함하여 9자리 미만일 경우 왼쪽 공간을 0으로 채움 => 0b11001000

    {:o} : 8진수 표현 => 310

    {:5o} : 8진수 표현, 값이 5자리 미만일 경우 왼쪽 공간에 space 채움 => 310

    {:05o} : 8진수 표현, 값이 5자리 미만일 경우 왼쪽 공간을 0으로 채움 => 00310

    {:#05o} : 8진수 표현, 접두어(0o)를 넣고 접두어 포함하여 5자리 미만일 경우 왼쪽 공간을 0으로 채움 => 0o310

    {:#05x} : 16진수 표현, 접두어(0x)를 넣고 접두어 포함하여 5자리 미만일 경우 왼쪽 공간을 0으로 채움 => 0x0c8

    {:#05X} : 위와 동일하지만 접두어 및 값에 영문이 대문자로 처리