Maison > développement back-end > Tutoriel Python > Module string.py en Python

Module string.py en Python

不言
Libérer: 2018-06-01 16:41:49
original
1067 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes du module string.py en Python. L'introduction dans l'article est très détaillée et a une certaine valeur de référence pour tous les amis qui en ont besoin peuvent y jeter un œil ci-dessous.

1. Utilisation

Constante de chaîne :

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)
Copier après la connexion

Résultat

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

2. Classe de modèle :

En fait, la classe Template peut être comparée à l'utilisation de chaînes formatées et à la méthode format() d'objets chaîne, ce qui peut aider à mieux la comprendre. Tout d'abord, créez un nouveau fichier python : string_template.py,

, puis écrivez-y le contenu suivant :

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))
Copier après la connexion

Ensuite, saisissez dans la ligne de commande python :

$ python string_template.py
Copier après la connexion

result

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

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

FORMAT:
Variable : foo
Escape  : {}
Copier après la connexion

Vous pouvez voir que les trois peuvent avoir pour effet de formater des chaînes. C'est juste que les modificateurs des trois sont différents. L'avantage de la classe Template est qu'elle peut hériter de la classe et personnaliser ses modificateurs après instanciation, et elle peut également définir des expressions régulières pour le format de nom des variables.

Tel que l'exemple 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))
Copier après la connexion

Tout d'abord, expliquez le fichier python ci-dessus . Une classe MyTemplate est définie à l'intérieur, qui hérite de la classe Template de string, puis surcharge ses deux champs : Delimiter est le modificateur, désormais spécifié comme '%' au lieu du '$' précédent. Ensuite, idpattern est la spécification de format de la variable.

Résultat

$ python string_template_advanced.py
Modified ID pattern:

 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored
Copier après la connexion

Pourquoi le soulignement n'est-il pas remplacé ? La raison en est que lorsque nous définissons la classe, nous spécifions que le trait de soulignement « _ » doit apparaître dans le modèle d'identification, mais le nom de la variable n'a pas de trait de soulignement, il ne peut donc pas être remplacé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal