lang/py

python3 format() 서식화 메서드

C/H 2016. 12. 8. 08:30

서식화 메서드

format()
format(*args, *kwargs)
format_map()
format_map(mapping)

치환필드

{} {}
왼쪽부터 순서대로 인수로 지정한 값이 치환된다.
{0} {1} {2}
지정된 위치의 인수 값으로 치환된다.
{name} {key}
kwargs, 또는 format_map()에서 지정한 사전키에 해당하는 값으로 치환
{0[0]} {name[0]}
인수의 0번째 요소가 치환
{1[key]} {name[key]}
인수의 지정된 키워드(key)의 값이 치환
{0.attr} {name.attr}
인수의 지정된 속성(attr)값이 치환
:>30 :<30 :^30
지정한 폭(여기에서는 30)으로 왼쪽 맞춤, 오른쪽 맞춤, 가운데 맞춤
:-<30 :->30 :^-30
왼쪽 맞춤, 오른쪽 맞춤, 가운데 맞춤에서 공백(스페이스)을 지정한 문자(여기에서는-)로 매운다.
:b :9 :d :x :X
2진수, 8진수, 10진수, 16진수(소문자), 16진수(대문자)로 변환한다.
:f
고정소수점 수의 문자열로 변환한다.
:%
백분율 표기로 변환한다.
:,
수치에 세 자리마다 쉼표(,)를 삽입한다.
:6.2f
표시할 자릿수를 지정한다. 6은 전체 자릿수, 2는 소수점 이하 자리수를 나타낸다.
:%Y-%m-%d %H:%M:%S
날짜 형식 특유의 서식으로, 연월일 등으로 변환한다. 날짜 형식은 datetime을 참고한다.
find(sub[, start[, end]])
문자열 중에 sub이 존재하는 위치를 반환한다. 없으면 -1을 반환한다. RETURN int
split(sep=None, msxsplit=-1)
문자열로 분리한다. 기본으로는 공백 문자로 분할한다. RETURN list
join(iterable)
인수로 지정된 여러 문자열을 결합한다. RETURN str
startswith(prefix[, start[, end]])
지정된 접두사를 가진 문자열을 검색한다. prefix에는 튜플로 여러개의 후보를 지정할 수 있다. start, end는 조사할 위치 지정에 사용한다. RETURN bool
endswitch(suffix[, start[, end]])
지정된 접미사를 가진 문자열을 검색한다. suffix에는 튜플로 여러 개의 후보를 지정할 수 있다. start, end는 조사할 위치 저정에 사용한다. RETURN bool
encode(encoding="utf-8", errors="static")
문자열을 지정한 인코딩 형식으로 변환한다. errors에는 변환 불가능한 문자열이 있을 때 대응 방법을 기술한다. static이면 오류가 발생하며, ignore면 해당문자 무시, replace면 ?로 변환. RETURN bytes
string.ascii_lowercase
영문 소문자(abcd....xyz)
string.ascii_uppercase
영문 대문자(ABCD....XYX)
string.ascii_letters
소문자와 대문자를 합친 영문자 전체
string.digits
10진수 숫자(0123456789)
string.hexdigits
16진수 숫자(01234567890abcdefABCDEF
string.octdigits
8진수 숫자(01234567)
string.punctuation
기호 문자열(!"#$%&'()*+,-./:;<>?@[\]^_`{|}~)
string.whitespace
공백으로 취급되는 문자열(\t\n\r\x0b\x0c)
string.printable
ascii_letter, digits, punctuation, whitespace를 포함한 문자열
a = 2;
>>> b = 3;
>>> '{0} + {1} = {2}'.format(a, b, a+b);

>>> '{} {}'.format('Hello', 'World');

>>> user = {'name', 'username', 'screen_name': 'ScreenName'};
>>> 'Hello {screen_name}'.format_map( user );

>>> order = ['1st', '2nd', '3rd', '4th']
>>> 'You {0[2]}'.format(order);

>>> sns = {'fb': 'facebook', 'twt' : 'twitter'}
>>> 'fb is {sns[fb]}'.format( sns=sns )

>>> from datetime import datetime
>>> now = datetime.now()
>>> 'today\'s {0.year}-{0.month}-{0.day}'.format( now )
"today's 2016-12-9"

>>> import math

>>> '|{:<30}|'.format('left align')
'|left align                    |'

>>> '|{:>30}|'.format('right align')
'|                   right align|'

>>> '|{:^30}|'.format('center')
'|            center            |'

>>> '|{:-^30}|'.format('center')
'|------------center------------|'

>>> '{0:b} {0:o} {0:d} {0:x} {0:X}'.format(1000)
'1111101000 1750 1000 3e8 3E8'

>>> '{0} {0:f}'.format(math.pi)
'3.141592653589793 3.141593'

>>> '{:%}'.format(0.045)
'4.500000%'

>>> '{:,}'.format(100000000000000)
'100,000,000,000,000'

>>> '{:4.2f} {:2.2%}'.format(math.pi, 0.045)
'3.14 4.50%'

>>> from datetime import datetime
>>> now = datetime.now()
>>> 'This is {:%Y-%m-%d}'.format(now)
'This is 2016-12-09'

>>> 'python'.find('th')
2

>>> 'python'.find('TH')
-1

>>> words = '''Beautiful is better than ugly.
... Explicit is better than implicit.'''.split()

>>> words
['Beautiful', 'is', 'better', 'than', 'ugly.', 'Explicit', 'is', 'better', 'than', 'implicit.']

>>> '-'.join(words[:5])
'Beautiful-is-better-than-ugly.'

>>> 'python'.startswith('py')
True

>>> image_suffix = ('jpg', 'png' 'gif')
>>> 'image.png'.endswith(image_suffix)
False

>>> 'text.txt'.endswith(image_suffix)
False

>>> text = '가abcd나'
>>> text.encode('ascii')
Traceback (most recent call last):
  File "", line 1, in 
UnicodeEncodeError: 'ascii' codec can't encode character '\uac00' in position 0: ordinal not in range(128)

>>> text.encode('ascii', 'ignore')
b'abcd'

>>> text.encode('ascii', 'replace')
b'?abcd?'

>>> import string
>>> 'a' in string.ascii_lowercase
True

>>> 'a' in string.ascii_uppercase
False
반응형

'lang > py' 카테고리의 다른 글

파이썬 라이브러리 가상환경 묶기  (0) 2017.05.16
Python 정규표현식 re  (0) 2016.12.12
PyDev for Eclipse  (0) 2016.12.07
Python 문자열 변환 메서드  (0) 2016.12.05
무료 파이썬 자습서, eBook 및 전자책  (0) 2015.04.30