logo

파이썬 | 출력 형식화

Python에는 프로그램의 출력을 표시하는 여러 가지 방법이 있습니다. 데이터는 사람이 읽을 수 있는 형식으로 인쇄되거나 나중에 사용하기 위해 파일에 기록되거나 다른 지정된 형식으로 기록될 수도 있습니다. 사용자는 단순히 공백으로 구분된 값을 인쇄하는 것보다 출력 형식을 더 세밀하게 제어하기를 원하는 경우가 많습니다.

Python의 출력 형식 지정

문자열 메서드를 사용하여 출력 형식을 지정하는 방법에는 여러 가지가 있습니다. 파이썬 .



  • 문자열 모듈로 연산자(%) 사용
  • 형식 방법 사용
  • 문자열 방법 사용
  • Python의 형식 변환 규칙

문자열 모듈로 연산자(%)를 사용하여 출력 형식 지정

그만큼 % 연산자 모듈 문자열 형식화에도 사용할 수 있습니다. 이는 오른쪽 인수에 적용되는 C 언어 문자열에서와 같이 printf() 스타일 형식과 매우 유사하게 왼쪽 인수를 해석합니다. Python에는 printf() 함수가 없지만 고대 printf의 기능이 포함되어 있습니다. 파이썬 . 이를 위해 모듈로 연산자 %는 문자열 클래스에 의해 오버로드되어 문자열 형식화를 수행합니다. 따라서 문자열 모듈러스(또는 모듈러스라고도 함) 연산자라고도 합니다. 문자열 모듈로 연산자( % )는 Python(3.x)에서 여전히 사용할 수 있으며 널리 사용됩니다. 그러나 요즘에는 오래된 형식의 형식이 언어에서 제거되었습니다.

파이썬3








# Python program showing how to use string modulo operator(%)> print>(>'Geeks : %2d, Portal : %5.2f'> %> (>1>,>05.333>))> print>(>'Total students : %3d, Boys : %2d'> %> (>240>,>120>))># print integer value> print>(>'%7.3o'> %> (>25>))># print octal value> print>(>'%10.3E'> %> (>356.08977>))># print exponential value>

>

>

산출

Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>
문자열 모듈로 연산자(%)를 사용하여 출력 형식 지정

모듈로 연산자를 사용한 출력 형식화

이 예에는 %2d와 %5.2f라는 두 가지가 있습니다. 형식 자리 표시자의 일반 구문은 다음과 같습니다.

형식 문자열 자바
 %[flags][width][.precision]type>

예제에서 자리 표시자를 살펴보겠습니다.

  • 첫 번째 자리 표시자 '%2d'는 튜플의 첫 번째 구성 요소, 즉 정수 1에 사용됩니다. 이는 2개의 문자로 인쇄되며 1은 1개의 숫자로만 구성되므로 출력에는 1개의 선행 공백이 채워집니다.
  • 두 번째 자리 표시자 '%5.2f'는 부동 소수점 숫자를 위한 것입니다. 다른 자리 표시자와 마찬가지로 % 문자로 소개됩니다. 소수점과 소수점 앞과 뒤의 모든 숫자를 포함하여 문자열에 포함되어야 하는 총 자릿수를 지정합니다.
  • 부동소수점 숫자 05.333은 자리 표시자에서 '.' 다음에 나오는 숫자로 표시되는 5자 및 정밀도 2로 형식화됩니다. 마지막 문자 'f'는 자리 표시자가 부동 소수점 값을 나타냄을 나타냅니다.

Format 메서드를 사용하여 출력 형식 지정

Python(2.6)에서는 format() 메서드가 추가되었습니다. 문자열의 형식 지정 방법에는 더 많은 수작업이 필요합니다. 사용자는 {}를 사용하여 변수가 대체될 위치를 표시하고 자세한 형식 지정 지시문을 제공할 수 있지만 형식을 지정할 정보도 제공해야 합니다. 이 방법을 사용하면 위치 형식 지정을 통해 출력 내의 요소를 연결할 수 있습니다. 예를 들어 -

예시 1: 코드는 다양한 Python 문자열 형식 지정 기술을 설명합니다. 값은 format() 프로시저에 나타나는 순서에 따라 명시적으로 제공되거나 참조됩니다. f-문자열을 사용하면 중괄호와 f 접두어를 사용하여 문자열 내에 표현식을 포함할 수 있습니다. 리터럴. f-String의 표현식이 평가되고 적절한 값이 대체됩니다.

파이썬3




print>(>'I love {} for '{}!''>.>format>(>'Geeks'>,>'Geeks'>))> # using format() method and referring a position of the object> print>(>'{0} and {1}'>.>format>(>'Geeks'>,>'Portal'>))> print>(>'{1} and {0}'>.>format>(>'Geeks'>,>'Portal'>))> print>(f>'I love {'Geeks'} for '{'Geeks'}!''>)> # using format() method and referring a position of the object> print>(f>'{'Geeks'} and {'Portal'}'>)>

>

>

산출

회사와 회사의 차이
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>

대괄호와 그 안의 문자(라고 함) 형식 필드 )은 format() 메서드에 전달된 객체로 대체됩니다. 대괄호 안의 숫자는 format() 메서드에 전달된 객체의 위치를 ​​참조하는 데 사용할 수 있습니다.

예시 2: 첫 번째 줄의 위치 매개변수와 명명된 인수('other')의 도움으로 'Geeks', 'For' 및 'Geeks' 값이 문자열 템플릿에 추가됩니다.'Geeks:12, Portal: 0.55' 첫 번째 값은 2자리 정수로 표시되고 두 번째 숫자는 소수점 이하 2자리와 8비트 너비로 인쇄됩니다. 숫자 '453' 및 '59.058'에 대한 특정 레이블('a' 및 'p')로 표시되는 format() 메소드의 명명된 인수,

파이썬3




# combining positional and keyword arguments> print>(>'Number one portal is {0}, {1}, and {other}.'> >.>format>(>'Geeks'>,>'For'>, other>=>'Geeks'>))> # using format() method with number> print>(>'Geeks :{0:2d}, Portal :{1:8.2f}'>.> >format>(>12>,>00.546>))> # Changing positional argument> print>(>'Second argument: {1:3d}, first one: {0:7.2f}'>.> >format>(>47.42>,>11>))> print>(>'Geeks: {a:5d}, Portal: {p:8.2f}'>.> >format>(a>=> 453>, p>=> 59.058>))>

>

>

산출

Number one portal is Geeks, For, and Geeks. Geeks :12, Portal : 0.55 Second argument: 11, first one: 47.42 Geeks: 453, Portal: 59.06>

예제 사용법이 포함된 다음 다이어그램은 위치 매개변수에 대해 형식 메소드가 작동하는 방식을 보여줍니다.

Format 메서드를 사용하여 출력 형식 지정

Format 메소드를 이용한 출력 포맷팅

예시 3: 이 코드는 Python의 format() 메서드와 함께 사전을 사용하는 방법을 보여줍니다. 첫 번째 예에서 사전의 '탭'에는 키와 관련 값이 있습니다. format() 메서드는 인덱싱을 사용하여 값을 문자열 템플릿에 넣습니다. 두 번째 예에서는 사전의 명명된 키가 데이터로 사용됩니다.

파이썬3




tab>=> {>'geeks'>:>4127>,>'for'>:>4098>,>'geek'>:>8637678>}> # using format() in dictionary> print>(>'Geeks: {0[geeks]:d}; For: {0[for]:d}; '> >'Geeks: {0[geek]:d}'>.>format>(tab))> data>=> dict>(fun>=>'GeeksForGeeks'>, adj>=>'Portal'>)> print>(>'I love {fun} computer {adj}'>.>format>(>*>*>data))>

>

>

산출

Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>

문자열 메서드를 사용하여 출력 형식 지정

이 출력은 다음을 사용하여 형식화됩니다. 문자열 방법, 즉 슬라이싱 및 연결 작업. 문자열 유형에는 더 멋진 방식으로 출력 형식을 지정하는 데 도움이 되는 몇 가지 메서드가 있습니다. 출력 형식을 지정하는 데 도움이 되는 몇 가지 방법은 다음과 같습니다. str.light() , str.rjust() , 그리고 str.centre()

파이썬3




cstr>=> 'I love geeksforgeeks'> # Printing the center aligned string with fillchr> print>(>'Center aligned string with fillchr: '>)> print>(cstr.center(>40>,>'#'>))> # Printing the left aligned string with '-' padding> print>(>'The left aligned string is : '>)> print>(cstr.ljust(>40>,>'-'>))> # Printing the right aligned string with '-' padding> print>(>'The right aligned string is : '>)> print>(cstr.rjust(>40>,>'-'>))>

C# 튜토리얼

>

>

산출

Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>

Python의 형식 변환 규칙

이 표에는 Python의 format() 함수에서 사용되는 표준 형식 변환 지침이 나열되어 있습니다.

변환

의미

십진수

바이너리 형식

영형

8진수 형식

~에

더 이상 사용되지 않으며 'd'와 동일함

x 또는 X

16진수 형식

전자 또는 전자

지수 표기법

에프 또는 에프

부동 소수점 십진수

.tif 파일

g 또는 G

일반 형식

단일 문자

아르 자형

문자열 형식(repr() 사용)

에스

문자열 형식(str() 사용))

%

백분율