>  기사  >  백엔드 개발  >  Python의 string.py 모듈에 대한 자세한 설명

Python의 string.py 모듈에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-13 09:30:501574검색

이 글은 Python의 string.py 모듈에 대한 자세한 설명에 대한 관련 정보를 주로 소개하고 있으며, 이 글의 소개는 매우 자세하며 필요한 모든 사람이 참조할 수 있습니다. 아래를 살펴보세요.

1. 사용법

문자열 상수:


import string

print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.ascii_letters)
print(string.digits)
print(string.hexdigits)
print(string.octdigits)
print(string.punctuation)
print(string.printable)

결과


abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&&#39;()*+,-./:;<=>?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&&#39;()*+,-
 ./:;<=>?@[\]^_`{|}~

2. 템플릿 클래스:

실제로 Template 클래스는 형식화된 문자열 의 사용법과 문자열 객체 format() 메소드를 비교해 보면 더 잘 이해할 수 있습니다. 먼저 새 Python 파일 string_template.py,

을 만들고 그 안에 다음 콘텐츠를 작성합니다.


import string

values = {&#39;var&#39;: &#39;foo&#39;}

t = string.Template("""
Variable : $var
Escape  : $$
Variable in text: ${var}iable
""")

print(&#39;TEMPLATE:&#39;, t.substitute(values))

s = """
Variable : %(var)s
Escape  : %%
Variable in text: %(var)siable
"""

print(&#39;INTERPOLATION:&#39;, s % values)

s = """
Variable : {var}
Escape  : {{}}
Variable in text: {var}iable
"""

print(&#39;FORMAT:&#39;, s.format(**values))

그런 다음 python 명령줄 Enter:


$ python string_template.py

Result


TEMPLATE:
Variable : foo
Escape  : $
Variable in text: fooiable

INTERPOLATION:
Variable : foo
Escape  : %
Variable in text: fooiable

FORMAT:
Variable : foo
Escape  : {}

세 가지의 차이점은 문자열 형식 지정 효과를 가질 수 있습니다. 단지 세 가지의 수식어가 다를 뿐입니다. 템플릿 클래스의 좋은 점은 을 통해 클래스를 상속할 수 있고, 인스턴스화 후 수정자를 사용자 정의할 수 있으며, 변수의 이름 형식에 정규 표현식 >정의.

string_template_advanced.py 예:


import string
class MyTemplate(string.Template):
 delimiter = &#39;%&#39;
 idpattern = &#39;[a-z]+_[a-z]+&#39;


template_text = &#39;&#39;&#39;
 Delimiter : %%
 Replaced : %with_underscore
 Igonred : %notunderscored
&#39;&#39;&#39;


d = {
 &#39;with_underscore&#39;: &#39;replaced&#39;,
 &#39;notunderscored&#39;: &#39;not replaced&#39;,
}

t = MyTemplate(template_text)
print(&#39;Modified ID pattern:&#39;)
print(t.safe_substitute(d))

먼저 위 Python 파일에 대해 설명합니다. MyTemplate 클래스는 문자열의 템플릿 클래스를 상속받은 다음 해당 두 필드를

오버로드하여 내부에 정의됩니다. Delimiter는 수정자이며 이제 이전 '$' 대신 '%'로 지정됩니다. 다음으로 idpattern은 변수의 형식 사양입니다.

결과


$ python string_template_advanced.py
Modified ID pattern:

 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored

밑줄이 표시되지 않은 이유는 무엇입니까? 그 이유는 클래스를 정의할 때 idpattern에 밑줄 '_'이 나타나도록 지정했는데,

변수명 에는 밑줄이 없어 대체가 불가능하기 때문이다.

위 내용은 Python의 string.py 모듈에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.