python 3의 string format은 유용하게 사용 가능하다.
기본 사용법
print('We are the {} who say "{}!"'.format('knights', 'Ni')) # 기본 사용 : 순차적 # We are the knights who say "Ni!" print('{1} and {0}'.format('spam', 'eggs')) # 기본 사용 : 순서를 바꿀 수 있음 # eggs and spam print('This {food} is {adjective}.'.format(adjective='absolutely horrible',food='spam')) # 기본 사용 : 변수 별로 처리 가능 # This spam is absolutely horrible.
변수를 이용한 좀 더 복잡한 처리
print_string ="Hello{pwantdata}pwantdata{pwantdata}|{KK}|{float_data}|" print_string = print_string.format(pwantdata=123,KK="123",float_data=1.2) print(print_string) # {pwantdata} 여러개가 있더라도 처리 # Hello123pwantdata123|123|1.2| print_string ="Hello{pwantdata}pwantdata{pwantdata}|{KK}|{float_data}|" data_dict = {"pwantdata":123,"KK":"123","float_data":1.2} print_string = print_string.format(**data_dict) print(print_string) # dictionary로 표현할때 <**> 사용 # Hello123pwantdata123|123|1.2| print_string ="pwantdata" print_string = print_string.format(pwantdata_1=123) print(print_string) # pwantdata_1 없더라도 No Error # pwantdata
에러 발생 상황
try: print_string ="{pwantdata}}" print_string = print_string.format(pwantdata=123) # Error except: traceback.print_exc() ''' 괄호가 안맞으면 오류 Traceback (most recent call last): File "6_string_format.py", line 29, in <module> print_string = print_string.format(pwantdata=123) # Error ValueError: Single '}' encountered in format string ''' try: print_string ="{pwantdata}" print_string = print_string.format(pwantdata_1=123) # Error except: traceback.print_exc() ''' 괄호안의 데이터가 인자로 주어지지 않으면 오류 Traceback (most recent call last): File "6_string_format.py", line 35, in <module> print_string = print_string.format(pwantdata_1=123) # Error KeyError: 'pwantdata' '''
참고 : https://docs.python.org/ko/3/tutorial/inputoutput.html
예제 : https://github.com/donarts/sourcecode/blob/main/python/example/6_string_format.py
댓글 없음:
댓글 쓰기