이 글은 주로 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 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,- ./:;<=>?@[\]^_`{|}~
2. 템플릿 클래스:
실제로는 템플릿 클래스는 형식이 지정된 문자열 및 문자열 개체 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
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 = '%' 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은 변수의 형식 사양입니다.
Result
$ python string_template_advanced.py Modified ID pattern: Delimiter : % Replaced : replaced Igonred : %notunderscored
밑줄이 표시되지 않은 이유는 무엇입니까? 그 이유는 클래스를 정의할 때 idpattern에 밑줄 '_'이 나타나도록 지정했는데, 변수 이름에는 밑줄이 없어 대체할 수 없기 때문입니다.
위 내용은 Python의 모듈 string.py의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!