Python Basic : center() (텍스트 양쪽에 특정 문자 추가하기)
center() method는 텍스트에 적용할 수 있는 method이며 기존 텍스트를 가운데에 위치시키고 양쪽에 동일한 개수의 문자를 추가시키는 method입니다.
Syntax
string.center(length, text)
- length
기존 텍스트 길이와 새롭게 추가할 문자의 길이를 모두 합하여 최종적으로 return될 텍스트의 길이입니다.
- text
기존 텍스트 양쪽에 추가할 문자를 의미합니다. (길이가 1인 하나의 단일 문자만 허용됩니다.)
str_test = 'apple'
str_test = str_test.center(15, '@')
print(str_test)
-- Result
@@@@@apple@@@@@
- str_test.center(15, '@')
str_test 변수에는 apple이라는 글자가 담겨있습니다.
str_test에 있는 글자를 최대한 가운데에 위치시키고 양쪽에 @ 문자를 추가해서 총 길이가 15인 문자로 만들라는 의미이죠.
apple은 5글자니까 15글자가 되려면 10글자가 추가되어야합니다.
따라서 추가될 문자인 at sign(@)을 양쪽에 5개씩 추가하면 총 길이가 15가 되겠죠.
str_test = 'apple'
str_test = str_test.center(14, '@')
print(str_test)
-- Result
@@@@apple@@@@@
앞서 봤던 예시와 동일하지만 center() method의 길이값을 14로 만들었습니다.
apple의 글자수는 5글자이며, 총 14글자가 되려면 9글자가 추가되어야 합니다.
즉, @가 apple 양쪽에 총 9개 추가되어야하는데 9개는 홀수라서 정확히 반으로 나뉘어지지 않죠.
이럴 땐 위 예시의 결과처럼 오른쪽에 1개 더 많은 개수가 붙습니다.
그래서 apple의 왼쪽에 @가 4개, 오른쪽에는 @가 5개 붙은 것을 볼 수 있습니다.
str_test = 'apple'
str_test = str_test.center(14, '!@')
print(str_test)
-- Result
TypeError: The fill character must be exactly one character long
만약 위처럼 center() method에서 두 번째 인자를 하나의 문자가 아닌 여러 문자를 적으면 위처럼 Type Error가 발생합니다.
center() method의 두 번째 인자는 반드시 길이가 1인 단일 문자만 허용됩니다.