Python - format

컴퓨터/Python

728x90
반응형

좀 더 효율적인 문자열의 제어

다양한 프로그래밍 언어에서 문자열을 제어하기 위한 다양한 방법들이 있습니다. 

예를 들어 어떠한 변수를 사용하여 아래와 같이 출력을 하려고 한다고 가정해 봅시다.

 

나의 이름은 OOO입니다.

 

Python에서 위의 개념대로 출력을 하기 위해서 다음과 같이 사용하는 것이 기본적입니다.

name = "홍길동"

print("나의 이름은 "+name+"입니다.")

간단하게 문자열의 연산을 통해서 출력이 가능합니다. 하지만 format 함수를 이용한다면 조금 더 효율적인 제어가 가능합니다.

 

format함수를 통한 문자열의 제어

나의 이름은 OOO이고 나이는 OO입니다. 

위의 지문을 문자열로 만들 때 아래와 같이 format함수를 이용해서 만들 수 있습니다.

name = "홍길동"
age = 50

text = "나의 이름은 {}이고 나이는{} 입니다.".format(name,age)

print(text)

중괄호를 이용하여 특정 부분을 표현하고 format함수를 통해 값을 넣어주는 것입니다. 

 

또한 아래처럼 직접 인덱스를 넣어 표현 또한 가능합니다.

data = "{1}, {0}, {2}".format("철수","영희","숙희")
print(data)

위의 내용들을 보면 format함수와 중괄호{} 안의 값을 제어해서 다양한 방법으로 문자열 서식을 제어할 수 있다는 것을 알 수 있습니다. 추가적으로 간단한 중괄호 안에 데이터를 넣는 방법에 대하여 알아보도록 하겠습니다.

 

문자열 정렬하기

중괄호 안에 값을 넣음으로써 몇 자리 데이터를 어떤 식으로 정렬할지 서식을 제공할 수 있습니다.

 

data = "오른쪽 정렬하기 {0:>10}".format(1)
data1 = "오른쪽 정렬하기 {0:>10}".format(100)
data2 = "오른쪽 정렬하기 {0:>10}".format(199)
data3 = "오른쪽 정렬하기 {0:>10}".format(5000)

print(data)
print(data1)
print(data2)
print(data3)

위처럼 0번째 인덱스의 값을 10칸의 공간에 오른쪽 정렬하겠다는 표현으로 위와 같이 사용할 수 있습니다.

 

왼쪽 정렬을 위해서는 아래와 같습니다.

data = "{0:<10} 왼쪽 정렬하기 ".format(1)
data1 = "{0:<10} 왼쪽 정렬하기".format(100)
data2 = "{0:<10} 왼쪽 정렬하기".format(199)
data3 = "{0:<10} 왼쪽 정렬하기".format(5000)

print(data)
print(data1)
print(data2)
print(data3)

부등호를 통해 정렬하는 방향과 숫자를 통해 공백의 개수를 정의한다는 것을 알 수 있습니다.

 

추가적으로 공백 대신 특정한 기호를 삽입할수도 있습니다. 부등호 전에 공백대신 대체할 문자를 넣어주면 됩니다.

data = "{0:!<10} 왼쪽 정렬하기 ".format(1)
data1 = "{0:^<10} 왼쪽 정렬하기".format(100)
data2 = "{0:*<10} 왼쪽 정렬하기".format(199)
data3 = "{0:@<10} 왼쪽 정렬하기".format(5000)

print(data)
print(data1)
print(data2)
print(data3)

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :