Язык программирования Python

       

Модуль string


До того как у строк появились методы, для операций над строками применялся модуль string. Приведенный пример демонстрирует, как вместо функции из string использовать метод (кстати, последнее более эффективно):

>>> import string >>> s = "one,two,three" >>> print string.split(s, ",") ['one', 'two', 'three'] >>> print s.split(",") ['one', 'two', 'three']

В версии Python 3.0 функции, которые доступны через методы, более не будут дублироваться в модуле string.

В Python 2.4 появилась альтернатива использованию операции форматирования: класс Template. Пример:

>>> import string >>> tpl = string.Template("$a + $b = ${c}") >>> a = 2 >>> b = 3 >>> c = a + b >>> print tpl.substitute(vars()) 2 + 3 = 5 >>> del c # удаляется имя c >>> print tpl.safe_substitute(vars()) 2 + 3 = $c >>> print tpl.substitute(vars(), c=a+b) 2 + 3 = 5 >>> print tpl.substitute(vars()) Traceback (most recent call last): File "/home/rnd/tmp/Python-2.4b2/Lib/string.py", line 172, in substitute return self.pattern.sub(convert, self.template) File "/home/rnd/tmp/Python-2.4b2/Lib/string.py", line 162, in convert val = mapping[named] KeyError: 'c'

Объект-шаблон имеет два основных метода: substitute() и safe_substitute(). Значения для подстановки в шаблон берутся из словаря (vars() содержит словарь со значениями переменных) или из именованных фактических параметров. Если есть неоднозначность в задании ключа, можно использовать фигурные скобки при написании ключа в шаблоне.



Содержание раздела