Python 모듈 string.py 상세 설명

3389 단어 pythonstring.py
용법
문자열 상수:

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
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-
 ./:;<=>?@[\]^_`{|}~
2.Template 클래스:
사실 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  : {}
세 사람 사이 에서 문자열 을 포맷 하 는 효 과 를 볼 수 있 습 니 다.다만 세 사람의 수식 부 는 다르다.템 플 릿 클래스 의 좋 은 점 은 계승 클래스 를 통 해 실례 화 된 후에 수식 자 를 사용자 정의 할 수 있 고 변수의 이름 형식 에 대해 정규 표현 식 의 정 의 를 내 릴 수 있다 는 것 이다.
여 stringtemplate_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 가 정의 되 어 있 습 니 다.string 의 Template 클래스 를 계승 한 다음 에 두 도 메 인 을 다시 불 러 옵 니 다.Delimiter 는 수정자 입 니 다.현재'%'로 지정 되 었 습 니 다.이전'$'가 아 닙 니 다.이 어 idpattern 은 변수의 형식 을 지정 합 니 다.
결실

$ python string_template_advanced.py
Modified ID pattern:

 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored
왜 notunderscored 는 교체 되 지 않 았 습 니까?이 유 는 우리 가 클래스 를 정의 할 때 idpattern 에서 밑줄''을 지정 하기 때 문 입 니 다.이 변수 이름 은 밑줄 이 없어 서 대체 할 수 없습니다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기