>  기사  >  백엔드 개발  >  Python의 모듈 string.py

Python의 모듈 string.py

不言
不言원래의
2018-06-01 16:41:491035검색

이 글은 주로 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)

Result

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

2. 템플릿 클래스:

실제로는 템플릿 클래스는 형식이 지정된 문자열 및 문자열 개체 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 명령줄에

$ 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  : {}

세 가지 모두 문자열 서식 지정 효과를 볼 수 있습니다. 단지 세 가지의 수식어가 다를 뿐입니다. Template 클래스의 장점은 인스턴스화 후 클래스를 상속하고 수정자를 사용자 정의할 수 있으며 변수 이름 형식에 대한 정규식을 정의할 수도 있다는 것입니다.

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 클래스는 string의 Template 클래스를 상속한 다음 두 필드를 오버로드합니다. Delimiter는 수정자이며 이제 이전 '$' 대신 '%'로 지정됩니다. 다음으로 idpattern은 변수의 형식 사양입니다.

Result

$ python string_template_advanced.py
Modified ID pattern:

 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored

밑줄이 표시되지 않은 이유는 무엇입니까? 그 이유는 클래스를 정의할 때 idpattern에 밑줄 '_'이 나타나도록 지정했는데, 변수 이름에는 밑줄이 없어 대체할 수 없기 때문입니다.

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

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