Wednesday, May 13, 2020

The Power of Pythons String Templates

Python is an interpreted, object-oriented, high-level programming language. It is easy to learn because its syntax emphasizes readability, which reduces the expense of program maintenance. Many programmers love working with Python because—without the compilation step—testing and debugging go quickly.​ Python Web Templating Templating, especially web templating, represents data in forms usually intended to be readable by  a viewer. The simplest form of a templating engine substitutes values into the template to produce the output.   Aside from the string constants and the deprecated string functions, which moved to string methods, Pythons string module also includes string templates. The template itself is a class that receives a string as its argument. The object instantiated from that class is called a template string object. Template strings were first introduced in Python 2.4. Where string formatting operators used the percentage sign for substitutions, the template object uses dollar signs. $$ is an escape sequence; it is replaced with a single $.$identifier names a substitution placeholder matching a mapping key of identifier. By default, identifier must spell a Python identifier. The first non-identifier character after the $ character terminates this placeholder specification.${identifier} is equivalent to $identifier. It is required when valid identifier characters follow the placeholder but are not part of the placeholder, such as ${noun}ification. Outside of these uses of the dollar sign, any appearance of $ causes a ValueError to be raised. The methods available through template strings are as follows: Class string. Template(template): The constructor takes a single argument, which is the template string.Substitute(mapping, **keywords): Method that substitutes the string values (mapping) for the template string values. Mapping is a dictionary-like object, and its values may be accessed as a dictionary. If the keywords argument is used, it represents placeholders. Where both mapping and keywords are used, the latter takes precedence. If a placeholder is missing from mapping or keywords, a KeyError is thrown.Safe_substitute(mapping, **keywords): Functions similarly to substitute(). However, if a placeholder is missing from mapping or keywords, the original placeholder is used by default, thus avoiding the KeyError. Also, any occurrence of $ returns a dollar sign. Template objects also have one publicly available attribute: Template is the object passed to the constructors template argument. While read-only access is not enforced, it is best not to change this attribute in your program. The sample shell session below serves to illustrate template string objects. from string import Template s Template($when, $who $action $what.) s.substitute(whenIn the summer, whoJohn, actiondrinks, whaticed tea) In the summer, John drinks iced tea. s.substitute(whenAt night, whoJean, actioneats, whatpopcorn) At night, Jean eats popcorn. s.template $when, $who $action $what. d dict(whenin the summer) Template($who $action $what $when).safe_substitute(d) $who $action $what in the summer

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.