2009-02-09 7 views

답변

8

, 이것은 파이썬 문자열 포맷/보간 연산자이다.

a = "%d bottles of %s on the wall" % (10, "beer")

다음의 각 "10 bottles of beer on the wall"로 설정되는 a의 결과가 C.에

a = sprintf("%d bottles of %s on the wall", 10, "beer");

같은 동일합니다 : 그것은 기본적으로 예를 들어 C에서의 sprintf에 해당하는,이다

그러나이 구문은 Python 3.0에서 사용되지 않습니다. 의 교체는

리터럴 문자열이 자동으로 파이썬에 의한 STR 객체로 설정되어 있기 때문에이 작동 a = "{0} bottles of {1} on the wall".format(10, "beer")

같이 보입니다.

0

그것은 format specifier

간단한 사용법이다 :

# Prints: 0 1 2 3 4 5 6 7 8 9 
for i in range(10): 
    print "%d" % i, 
+0

잘못된 char, &를 사용했습니다. 답을 수정하십시오. – nosklo

+0

웃기지 만, 나는 종종 실제 코드에서 같은 오타를한다. –

5

두 번째 %는 문자열 보간 연산자입니다.

Link to documentation. 영어에 코드를 번역한다면

+0

+1 : 문서를 인용하십시오. –

0
print "%d%s" % (100, "trillion dollars") # outputs: 100 trillion dollars 
+1

사실, 그것은 "100 조 달러"를 출력합니다 - 당신은 공간이 부족합니다. :-) –

0

, 그것은 말한다 다음 문자열을 내가을 가지고 술어 문자열에 포맷합니다.

다른 예 :

name = "world" 
print "hello, %s" % (name) 
다른 말했듯

More information about format specifiers.