2014-03-29 2 views
0

파이썬에서는 문자열을 특정 너비 내에 정렬하기 위해 형식 문자열을 사용할 수 있다는 것을 알고 있습니다.파이썬에서 문자열 조합 맞추기

print "{0: ^30}".format("Readability counts") 

지금은 문자열 "2 + 4"를 중심 싶습니다,하지만 난 그것을 구축하고 싶습니다 예를 들어, 다음 코드는 전체 30 개 공간의 중심 문자열 '가독성 카운트가'인쇄 동일한 객체 (obj.atr1obj.atr2)의 두 속성 중 하나입니다.

먼저 두 값을 결합하여 하나의 문자열 (연결 또는 형식 지정 사용)을 생성 한 다음 다음 형식 문자열로 전달할 수는 있지만 더 복잡한 방법이 있는지 궁금합니다. 가급적이면, 하나의 형식 연산을 사용하는 것이 좋습니다. 이는 단지 obj을 인수로 전달하고 형식 문자열을 사용하여 속성을 가져올 수있게하기 위해서입니다. 다음의 라인을 따라 뭔가 ..

print "{0.atr1} + {0.atr2}".format(obj) 

..하지만 센터링이 추가되었습니다.

나는 .. 나는 같은 것을 할 때 작동

print "{0: ^30}".format("{0.atr1} + {0.atr2}".format(obj)) 

알고 ..하지만 난 왼쪽 형식 문자열에 obj의 다른 속성을 사용하고자한다면 그것은 매우 불편하다. 귀하의 마지막 접근 방식은 합리적인 것 같다

답변

0

, 당신은 여전히 ​​다시 한번 전달 다른 obj 속성을 사용할 수 있습니다 : 충분한

print "{0: ^30} | {1.atr3}".format("{0.atr1} + {0.atr2}".format(obj), obj) 
+0

페어, 난 그냥 그와 함께 갈 것입니다. – Joost