답변:
Python2에서는 다음과 print
같은 문장을 소개하는 키워드였습니다.
print "Hi"
Python3에서는 print
호출 할 수있는 함수입니다.
print ("Hi")
두 버전 모두 %
왼쪽에 문자열이 있고 값에 튜플이 있거나 dict
오른쪽에 매핑 개체 (예 :)가 필요한 연산자입니다 .
따라서 라인은 다음과 같아야합니다.
print("a=%d,b=%d" % (f(x,n),g(x,n)))
또한 Python3 이상에 대한 권장 사항은 {}
-style 형식 대신 -style 형식 을 사용하는 것입니다 %
.
print('a={:d}, b={:d}'.format(f(x,n),g(x,n)))
파이썬 3.6에는 또 다른 문자열 형식 패러다임 인 f-strings가 도입되었습니다 .
print(f'a={f(x,n):d}, b={g(x,n):d}')
print('a={first:4.2f}, b={second:03d}'.format(first=f(x,n),second=g(x,n)))
당신은 printf와 스타일의 수정을 사용하는 방법이 예제 프로그램 곳 과 여전히 키워드를 사용합니다.
O'Reilly 's Python Cookbook의 간단한 printf () 함수 .
import sys
def printf(format, *args):
sys.stdout.write(format % args)
출력 예 :
i = 7
pi = 3.14159265359
printf("hi there, i=%d, pi=%.2f\n", i, pi)
# hi there, i=7, pi=3.14
PRINT
그리고 FORMAT
...? FORTRAN의 시대로 60 년 이상을
Python 3.6에는 인라인 보간을위한 f- 문자열이 도입되었습니다. 더 좋은 점은 구문을 확장하여 형식 지정자가 보간되도록 허용한다는 것입니다. 내가 이것을 구글 검색하는 동안 내가 노력했던 것 (이 오래된 질문을 만났다!) :
print(f'{account:40s} ({ratio:3.2f}) -> AUD {splitAmount}')
PEP 498 에 자세한 내용이 있습니다. 그리고 ... 그것은 다른 언어의 형식 지정자로 내 애완 동물 친구들을 분류했습니다-지정자가 스스로 표현이 될 수 있습니다! 예이! 형식 지정자를 참조하십시오 .
%
은 print(...)
괄호 밖에 있기 때문에 호출 결과 에 변수를 삽입하려고합니다 print
. print(...)
반환 None
, 그래서 이것은 작동하지 않으며, 우리가 살고있는 우주의 법에 의해 금지되는이 시간과 시간 여행으로 이미 템플릿을 인쇄 한 작은 문제도 있습니다.
당신이 원하는 모든 것은 포함, 인쇄 할 %
수와 연산, 요구 사항을 내부 사용자 print(...)
가 인쇄되기 전에 문자열이 구축 될 수 있도록하는 것이, 호출.
print( "a=%d,b=%d" % (f(x,n), g(x,n)) )
명확하게하기 위해 몇 개의 공간을 추가했습니다 (필요하지는 않지만 일반적으로 좋은 스타일로 간주되지는 않지만).
%
print
명령문 과 관련이없는 문자열 연산자 입니다. 예를 들어을 사용하여 문자열을s="a=%d,b=%d"%(f(x,n),g(x,n))
만든 다음을 사용하여 해당 문자열을 인쇄 할 수 있습니다print s
.