[Python] format 정리

8214 단어 pythonpython

!번썸네일

포맷팅

포맷팅이란? 문자열 사이에 값을 넣고 싶을 때 넣어 줄 수 있는 기능입니다. 예를들어 숫자 100을 넣는건 쉬운일이지만 변수를 사용하게 된다면 아래 코드 처럼 넣어야겠죠

num = 10;
print("formating" + num + "번째입니다.");

#formating 사용
print("formating %d 번째입니다.); 
#위에 보다 간결하다.

파이썬은 코드의 아름다움을 중요시 하기 때문에 포맷팅을 사용하면 가독성이 좋아집니다.

%

% 포맷팅은 % 연산자와 포맷스트링을 사용하는 방법입니다. 대표적인 포맷 스트링으로는
%d, %s, %f`가 잇습니다.

print("My name is %s and My age is %d My stature is %f" %("hou", 30, 178.3))
# 숫자를 넣을 시 공간확보와 앞에 0을 추가할 수 있습니다.

format

format은 {} 괄호를 이용한 포맷팅 방법 입니다.
%와 동일한 기능들을 지원, 변수의 타입과 상관없이 괄호숫자 만 이용하면 됩니다.

print("intenger : {}. string : {}, float: {}".format(100, 'str', 1.1))
#integer : 100, string : str, float :1.1

print("intenger : {0}. string : {1}, float: {2}".format(100, 'str', 1.1))
#integer : 100, string : str, float :1.1

print("intenger : {2}. string : {1}, float: {0}".format(1.1, 'str', 100))
#integer : 100, string : str, float :1.1

공간 확보 및 0으로 채우는 기능도 당연히 지원

print("number : '{0:>5d}'.format(300)) # >5d - 오른쪽(>)으로 밀어서 출력
#number '  300'

print("number : '{0:<5d}'.format(300))
#number '300  '

print("number : '{0:>05d}'.format(300))
#number '00300'

print("number : '{0:<05d}'.format(300))
#number '30000'

f-string

파이썬 3.6기준으로 f-string이라는 문법이 추가되었습니다.

name = 'hou'
print(f"my name is {name}")
#my name is ksg

내부적으로 함수 호출, 딕셔너리 포맷도 가능합니다.

name = "hou"
print(f"my name is {name.upper()}")
#my name is HOU

dic = {'name':"hou"}
print(f"my name is {dictionary['name']}")
#my name is hou

f-string을 통해 더 수월하게 작업할 수 있습니다.

좋은 웹페이지 즐겨찾기