> 백엔드 개발 > 파이썬 튜토리얼 > Python의 강력한 문자열 형식 지정 함수 형식

Python의 강력한 문자열 형식 지정 함수 형식

大家讲道理
풀어 주다: 2016-11-07 10:50:03
원래의
1493명이 탐색했습니다.

python2.6부터 문자열 형식 지정을 위한 새로운 함수 str.format()이 추가되었으며 이는 매우 강력합니다. 그렇다면 이전의 % 형식 문자열과 비교할 때 어떤 이점이 있습니까? 그 수줍음을 공개해보자.

구문

%

위치 메소드 서식

>>> '{}.{}'.format('pythontab', 'com')
'pythontab.com'
>>> '{}.{}.{}'.format('www', 'pythontab', 'com')
'www.pythontab.com'
>>> '{1}.{2}'.format('www', 'pythontab', 'com')
'pythontab.com'
>>> '{1}.{2} | {0}.{1}.{2}'.format('www', 'pythontab', 'com')
'pythontab.com | www.pythontab.com'
로그인 후 복사

대신 {} 및:를 사용합니다. 문자열 형식 함수 매개변수 위치는 순서가 틀릴 수 있습니다. 매개변수는 매우 유연합니다.

참고: python2.6, python2에서는 비어 있을 수 없습니다. 7 이상.

키워드 인수 기준

>>> '{domain}, {year}'.format(domain='www.pythontab.com', year=2016)
'www.pythontab.com, 2016'
>>> '{domain} ### {year}'.format(domain='www.pythontab.com', year=2016)
'www.pythontab.com ### 2016'
>>> '{domain} ### {year}'.format(year=2016,domain='www.pythontab.com')
'www.pythontab.com ### 2016'
로그인 후 복사

객체 속성 기준

>>> class website: 
        def __init__(self,name,type): 
            self.name,self.type = name,type 
        def __str__(self): 
          return 'Website name: {self.name}, Website type: {self.type} '.format(self=self) 
>>> print str(website('pythontab.com', 'python'))
Website name: pythontab.com, Website type: python
>>> print website('pythontab.com', 'python')
Website name: pythontab.com, Website type: python
로그인 후 복사

아래 첨자 기준

>>> '{0[1]}.{0[0]}.{1}'.format(['pyhtontab', 'www'], 'com')
'www.pyhtontab.com'
로그인 후 복사

이러한 편리한 "매핑" 방법을 사용하면 게으름을 해결할 수 있습니다. 기본적인 Python 지식을 통해 목록과 튜플은 함수의 일반 매개변수로 "분리"될 수 있고, dict는 (및 *를 통해) 함수의 키워드 매개변수로 분리될 수 있음을 알 수 있습니다. 따라서 목록/튜플/딕트를 매우 유연하게 형식 함수에 쉽게 전달할 수 있습니다.

형식 한정자

다음과 같은 다양한 "형식 한정자" 세트가 있습니다(구문은 : 기호가 있는 {}입니다).

패딩 및 정렬

패딩은 정렬과 함께 사용되는 경우가 많습니다

^, <、>는 각각 중앙 정렬, 왼쪽 정렬, 오른쪽 정렬, 너비

순으로 정렬됩니다.

: 기호 뒤의 패딩 문자는 한 문자만 가능합니다. 지정하지 않으면 기본적으로 공백으로 채워집니다.

코드 예:

>>> &#39;{:>10}&#39;.format(2016)
&#39;      2016&#39;
>>> &#39;{:#>10}&#39;.format(2016)
&#39;######2016&#39;
>>> &#39;{:0>10}&#39;.format(2016)
&#39;0000002016&#39;
로그인 후 복사

숫자 정밀도 및 f 유형

정밀도는 종종 f 유형과 함께 사용됩니다

>>> &#39;{:.2f}&#39;.format(2016.0721)
&#39;2016.07&#39;
로그인 후 복사

여기서 .2는 길이 2의 정밀도를 나타내고 f는 부동 소수점 유형을 나타냅니다.

기타 유형

주로 b, d, o, x는 각각 2진수, 10진수, 8진수, 16진수입니다.

>>> &#39;{:b}&#39;.format(2016)
&#39;11111100000&#39;
>>> &#39;{:d}&#39;.format(2016)
&#39;2016&#39;
>>> &#39;{:o}&#39;.format(2016)
&#39;3740&#39;
>>> &#39;{:x}&#39;.format(2016)
&#39;7e0&#39;
>>>
로그인 후 복사

은 금액을 천 단위 구분 기호로 사용할 수 있습니다.

>>> &#39;{:,}&#39;.format(20160721)
&#39;20,160,721&#39;
로그인 후 복사

포맷 기능도 너무 강력하고, 기능도 많이 있으니 한번 해보세요.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿