>백엔드 개발 >파이썬 튜토리얼 >Python 모듈 string.py 소개

Python 모듈 string.py 소개

高洛峰
高洛峰원래의
2017-03-12 10:21:391309검색

이 글에서는 Python 모듈 string.py 소개

사용법

  1. 문자열상수:

    문자열 가져오기

    인쇄(string.ascii_lowercase)print(string.ascii_uppercase )
    print(string.ascii_letters)
    print(string.di
    gits)print(string.hexdigits)
    print(string.octdigits)
    print( 문자열.구두점)
    인쇄(string.printable)

결과

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&'()*+,-./:;96b4fef55684b9312718d5de63fb7121?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-
    ./:;96b4fef55684b9312718d5de63fb7121?@[\]^_`{|}~
1.템플릿 클래스:

실제로 Template 클래스를

형식화된 문자열 의 사용법과 문자열 객체 format() 메서드와 비교해 보면 더 잘 이해할 수 있습니다. 먼저 새 Python 파일(string_template.py, )을 생성하고 그 안에 다음 콘텐츠를 작성합니다.

import string

values = {'var': 'foo'}

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

print('TEMPLATE:', t.substitute(values))

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

print('INTERPOLATION:', s % values)

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

print('FORMAT:', s.format(**values))
그런 다음 Python 명령줄에

$ python string_template.py

를 입력합니다. 결과

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 = '%'
    idpattern = '[a-z]+_[a-z]+'


template_text = '''
    Delimiter : %%
    Replaced  : %with_underscore
    Igonred   : %notunderscored
'''


d = {
    'with_underscore': 'replaced',
    'notunderscored': 'not replaced',
}

t = MyTemplate(template_text)
print('Modified ID pattern:')
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으로 문의하세요.