Язык программирования 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() содержит словарь со значениями переменных) или из именованных фактических параметров. Если есть неоднозначность в задании ключа, можно использовать фигурные скобки при написании ключа в шаблоне.