답변:
이를 수행하는 방법에는 여러 가지가 있습니다. %
-formatting을 사용하여 현재 코드를 수정하려면 튜플을 전달해야합니다.
튜플로 전달하십시오.
print("Total score for %s is %s" % (name, score))
단일 요소를 가진 튜플은 다음과 같습니다 ('this',)
.
다른 일반적인 방법은 다음과 같습니다.
사전으로 전달하십시오.
print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})
조금 더 읽기 쉬운 새로운 스타일의 문자열 형식도 있습니다.
새로운 스타일의 문자열 형식을 사용하십시오.
print("Total score for {} is {}".format(name, score))
숫자와 함께 새로운 스타일의 문자열 형식을 사용하십시오 (같은 순서를 여러 번 다시 정렬하거나 인쇄하는 데 유용).
print("Total score for {0} is {1}".format(name, score))
명시적인 이름으로 새로운 스타일의 문자열 형식을 사용하십시오.
print("Total score for {n} is {s}".format(n=name, s=score))
문자열 연결 :
print("Total score for " + str(name) + " is " + str(score))
내 의견으로는 가장 명확한 두 가지 :
값을 매개 변수로 전달하십시오.
print("Total score for", name, "is", score)
print
위 예제에서 공백을 자동으로 삽입하지 않으려면 sep
매개 변수를 변경하십시오 .
print("Total score for ", name, " is ", score, sep='')
Python 2를 사용하는 경우 Python 2에서는 print
함수가 아니기 때문에 마지막 두 개를 사용할 수 없습니다. 그러나 다음에서이 동작을 가져올 수 있습니다 __future__
.
from __future__ import print_function
f
Python 3.6에서 새로운 문자열 형식을 사용하십시오 .
print(f'Total score for {name} is {score}')
print("Total score for", name, "is", score)
.format()
이전보다 읽기 쉬운 것을 선호합니다 . 는 또한 간단한 경우에 괜찮습니다. 또한 사전을 인수로 사용하고 템플릿에서 텍스트를 생성하는 데 좋습니다. 더 오래된 것도 있습니다 . 그러나 템플릿은 깨끗하지 않습니다 . % (tuple)
%
print('xxx', a, 'yyy', b)
.format_map()
'ssss {key1} xxx {key2}'
string_template % dictionary
'ssss %(key1)s xxx %(key2)s'
print(f"Total score for {name} is {score}")
명시적인 함수 호출로 (긴만큼 name
하고 score
분명 범위에있는).
인쇄하는 방법에는 여러 가지가 있습니다.
다른 예를 살펴 보겠습니다.
a = 10
b = 20
c = a + b
#Normal string concatenation
print("sum of", a , "and" , b , "is" , c)
#convert variable into str
print("sum of " + str(a) + " and " + str(b) + " is " + str(c))
# if you want to print in tuple way
print("Sum of %s and %s is %s: " %(a,b,c))
#New style string formatting
print("sum of {} and {} is {}".format(a,b,c))
#in case you want to use repr()
print("sum of " + repr(a) + " and " + repr(b) + " is " + repr(c))
EDIT :
#New f-string formatting from Python 3.6:
print(f'Sum of {a} and {b} is {c}')
print("sum of {0} and {1} is {2}".format(a,b,c))
과도하게 print("sum of {} and {} is {}".format(a,b,c))
주문을 변경하지 않는 한 생략 할 수 있습니다 .
print("Total score for %s is %s " % (name, score))
%s
에 의해 대체 될 수있다 %d
또는%f
print("Total score for "+str(name)"+ is "+str(score))