[python] 파이썬에서 여러 인수를 인쇄

이것은 내 코드 스 니펫입니다.

print("Total score for %s is %s  ", name, score)

그러나 나는 그것을 인쇄하고 싶다 :

“(이름)의 총점은 (점수)”

여기서 name목록의 변수 score는 정수입니다. 이것이 도움이된다면 파이썬 3.3입니다.



답변

이를 수행하는 방법에는 여러 가지가 있습니다. %-formatting을 사용하여 현재 코드를 수정하려면 튜플을 전달해야합니다.

  1. 튜플로 전달하십시오.

    print("Total score for %s is %s" % (name, score))

단일 요소를 가진 튜플은 다음과 같습니다 ('this',).

다른 일반적인 방법은 다음과 같습니다.

  1. 사전으로 전달하십시오.

    print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})

조금 더 읽기 쉬운 새로운 스타일의 문자열 형식도 있습니다.

  1. 새로운 스타일의 문자열 형식을 사용하십시오.

    print("Total score for {} is {}".format(name, score))
  2. 숫자와 함께 새로운 스타일의 문자열 형식을 사용하십시오 (같은 순서를 여러 번 다시 정렬하거나 인쇄하는 데 유용).

    print("Total score for {0} is {1}".format(name, score))
  3. 명시적인 이름으로 새로운 스타일의 문자열 형식을 사용하십시오.

    print("Total score for {n} is {s}".format(n=name, s=score))
  4. 문자열 연결 :

    print("Total score for " + str(name) + " is " + str(score))

내 의견으로는 가장 명확한 두 가지 :

  1. 값을 매개 변수로 전달하십시오.

    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
  2. fPython 3.6에서 새로운 문자열 형식을 사용하십시오 .

    print(f'Total score for {name} is {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}')


답변

사용 : .format():

print("Total score for {0} is {1}".format(name, score))

또는:

// Recommended, more readable code

print("Total score for {n} is {s}".format(n=name, s=score))

또는:

print("Total score for" + name + " is " + score)

또는:

`print("Total score for %s is %d" % (name, score))`


답변

파이썬 3.6에서는 f-string훨씬 더 깨끗합니다.

이전 버전에서 :

print("Total score for %s is %s. " % (name, score))

파이썬 3.6에서 :

print(f'Total score for {name} is {score}.')

할 것이다.

더 효율적이고 우아합니다.


답변

간단하게 유지하면서 개인적으로 문자열 연결을 좋아합니다.

print("Total score for " + name + " is " + score)

Python 2.7과 3.X에서 모두 작동합니다.

참고 : score가 int 이면 str 로 변환해야합니다 .

print("Total score for " + name + " is " + str(score))


답변

단지 시도:

print("Total score for", name, "is", score)


답변

그냥 따라와

idiot_type = "the biggest idiot"
year = 22
print("I have been {} for {} years ".format(idiot_type, years))

또는

idiot_type = "the biggest idiot"
year = 22
print("I have been %s for %s years."% (idiot_type, year))

그리고 다른 모든 것을 잊어 버리면 뇌가 모든 형식을 매핑 할 수는 없습니다.