Maison >développement back-end >Tutoriel Python >Introduction au module Python string.py

Introduction au module Python string.py

高洛峰
高洛峰original
2017-03-12 10:21:391281parcourir

Cet article parle du module Python string.py introduction

utilisation

  1. ChaîneConstante :

    chaîne d'importation

    print(string.ascii_lowercase)
    print(string. ascii_uppercase )
    print(string.ascii_letters)
    print(string.digits)
    print(string.hexdigits)
    print(string.octdigits)
    print ( string.ponctuation)
    print(string.printable)

Résultat

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

1.Classe de modèle :

En fait, la classe Template peut être comparée à l'utilisation de chaîne formatée et de la méthode format() de la chaîne objet , ce qui peut aider. meilleure compréhension. Tout d'abord, créez un nouveau fichier python : string_template.py,
puis écrivez-y le contenu suivant :

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))

Ensuite, entrez dans la ligne de commande python :

$ python string_template.py

Résultats

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

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

FORMAT:
Variable        : foo
Escape          : {}

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 via , et après instanciation, elle peut auto-définir ses modificateurs et le format de nom de la variable peut aussi être Définition de l'expression régulière . Par exemple, exemple 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))
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 : Le délimiteur 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
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, et 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!

Déclaration:
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