프로그램의 출력을 표시하는 방법에는 여러 가지가 있습니다. 데이터는 사람이 읽을 수 있는 형식으로 출력하거나 나중에 사용할 수 있도록 파일에 기록하거나 다른 지정된 형식으로 출력할 수 있습니다. 사용자는 단순히 공백으로 구분된 값을 출력하는 것보다 출력 형식을 더 잘 제어하기를 원하는 경우가 많습니다. 출력 형식을 지정하는 방법에는 여러 가지가 있습니다.
- 형식이 지정된 문자열 리터럴 을 사용하려면 여는 따옴표 또는 삼중 따옴표 앞에 f 또는 F로 문자열을 시작합니다.
- str . 문자열의 format() 메서드는 사용자가 더 멋진 출력을 만드는 데 도움이 됩니다.
- 사용자는 사용자가 원하는 레이아웃을 만들기 위해 문자열 슬라이싱 및 연결 작업을 사용하여 모든 문자열 처리를 수행할 수 있습니다. 문자열 유형에는 문자열을 주어진 열 너비로 채우는 데 유용한 작업을 수행하는 몇 가지 메서드가 있습니다.
String modulo operator(%)를 사용하여 출력 형식 지정:
% 연산자는 문자열 형식 지정에도 사용할 수 있습니다. 왼쪽 인수를 오른쪽 인수에 적용할 C 언어 문자열에서와 같이 printf() 스타일 형식과 매우 유사하게 해석합니다. 파이썬에는 printf() 함수가 없지만 고대 printf의 기능은 파이썬에 포함되어 있습니다. 이를 위해 모듈로 연산자 %는 문자열 형식을 수행하기 위해 문자열 클래스에 의해 오버로드됩니다. 따라서 종종 문자열 모듈러스(또는 모듈러스라고도 함) 연산자라고 합니다.
문자열 모듈로 연산자( % )는 여전히 파이썬(3.x)에서 사용할 수 있으며 널리 사용됩니다. 그러나 요즘에는 오래된 형식의 서식이 언어에서 제거되었습니다.
파이썬3
# string modulo operator(%)
# 정수형과 실수형 출력
print("integer : %2d, float : %5.2f" % (1, 05.333))
# 정수형 출력
print("integer1 : %3d, integer2 : %2d" % (240, 120))
# 8진수 출력
print("%7.3o" % (25))
# 지수 출력
print("%10.3E" % (356.08977))
파이썬 실행 결과
integer : 1, float: 5.33
integer1 : 240, integer2 : 120
031
3.561E+02
이 예에는 "%2d" 및 "%5.2f"라는 두 가지가 있습니다. 형식 자리 표시자의 일반 구문은 다음과 같습니다.
예제에서 자리 표시자를 살펴보겠습니다.
- 첫 번째 자리 표시자 "%2d"는 튜플의 첫 번째 구성 요소, 즉 정수 1에 사용됩니다. 숫자는 2자로 인쇄됩니다. 1은 한 자리 숫자로만 구성되므로 출력은 1개의 선행 공백으로 채워집니다.
- 두 번째 "%5.2f"는 부동 소수점 수에 대한 형식 설명입니다. 다른 자리 표시자와 마찬가지로 % 문자로 시작됩니다. 그 다음에는 문자열이 포함해야 하는 총 자릿수가 나옵니다. 이 숫자는 소수점과 모든 자릿수, 즉 소수점 앞과 뒤를 포함합니다.
- 부동 소수점 숫자 05.333은 5자로 형식이 지정되어야 합니다. 숫자 또는 정밀도의 소수 부분은 2, 즉 "." 다음에 오는 숫자로 설정됩니다. 우리의 자리 표시자에서. 마지막으로 자리 표시자의 마지막 문자 "f"는 "float"를 나타냅니다.
format 메서드를 사용하여 출력 형식 지정 :
format() 메서드가 Python(2.6)에 추가되었습니다. 문자열의 형식화 방법은 더 많은 수작업이 필요합니다. 사용자는 {}를 사용하여 변수가 대체될 위치를 표시하고 자세한 형식 지정 지시문을 제공할 수 있지만 형식을 지정할 정보도 제공해야 합니다. 이 방법을 사용하면 위치 형식 지정을 통해 출력 내의 요소를 연결할 수 있습니다. 예를 들어 -
코드 1:
# format() 메서드 사용
print('first {} second "{}"'.format('Python', 'TechPost'))
print('{0} and {1}'.format('Python', 'TechPost'))
print('{1} and {0}'.format('Python', 'TechPost'))
# 위의 형식화는 f-String을 사용하여 수행할 수도 있습니다.
# 이 기능은 python 3.6 이상에서만 작동합니다.
print(f"first {'Python'} second \"{'TechPost'}!\"")
print(f"{'Python'} and {'TechPost'}")
파이썬 실행 결과
first Python second "TechPost"
Python and TechPost
TechPost and Python
그 안의 대괄호와 문자( 형식 필드 라고 함 )는 format() 메서드에 전달된 객체로 대체됩니다. 괄호 안의 숫자는 format() 메서드에 전달된 객체의 위치를 나타내는 데 사용할 수 있습니다.
코드 2:
# format() 함수 사용
# 위치 인수와 키워드 인수 결합
print('first is {0}, {1}, and {third}.'
.format('Python', 'for', third ='TechPost'))
# format() 함수 숫자 사용
print("first :{0:2d}, second :{1:8.2f}".
format(12, 00.546))
# 인자 위치 변경
print("second : {1:3d}, first : {0:7.2f}".
format(47.42, 11))
print("first : {a:5d}, second : {p:8.2f}".
format(a = 453, p = 59.058))
파이썬 실행 결과:
first is Python, for, and TechPost.
first :12, second : 0.55
second : 11, first : 47.42
first : 453, second : 59.06
코드 3:
tab = {'first': 4127, 'second': 4098, 'third': 8637678}
# using format() in dictionary
print('Geeks: {0[first]:d}; For: {0[second]:d}; '
'Geeks: {0[third]:d}'.format(tab))
data = dict(first ="Pyton", second ="TechPost")
# format() dictionary
print("first {first} second {second}".format(**data))
파이썬 실행 결과
first: 4127; second: 4098; third: 8637678
first Pyton second TechPost
String 메서드를 사용하여 출력 형식 지정 :
이 출력은 문자열 분할 및 연결 작업을 사용하여 형식이 지정됩니다. 문자열 유형에는 더 멋진 방식으로 출력 형식을 지정하는 데 도움이 되는 몇 가지 메서드가 있습니다. 출력 형식을 지정하는 데 도움이 되는 몇 가지 메서드는 str.ljust() , str.rjust() 및 str.centre()
cstr = "Python with TechPost"
# 중앙 정렬 출력
print ("중앙 정렬 출력: ")
print (cstr.center(40, '#'))
# 왼쪽 정렬 출력
# "-" 들여쓰기 있는 문자열
print ("왼쪽 정렬 출력 : ")
print (cstr.ljust(40, '-'))
# 오른쪽 정렬
# "-" 들여쓰기 있는 문자열
print ("오른쪽 정렬 : ")
print (cstr.rjust(40, '-'))
파이썬 실행 결과
중앙 정렬 출력:
##########Python with TechPost##########
왼쪽 정렬 출력 :
Python with TechPost--------------------
오른쪽 정렬 :
--------------------Python with TechPost