Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 889 Bytes

old-school_string_formatting.md

File metadata and controls

27 lines (18 loc) · 889 Bytes

Old-school string formatting

I was reading through some Python code and I fell over this contruct:

            pattern_hash = "^#{1," + str(attrs['depth']) + "}[^#]"
        headings = self.view.find_all(
            "%s|%s" % (pattern_h1_h2_equal_dash, pattern_hash))

The use of the % in the method call confused me, is something that looked like a string concatenation.

The above example is taken from the MarkdownTOC SublimeText plugin.

Apparently this is old-school string formatting and it is deprecated in Python 3.1.

The example from this page, makes it more understandable:

x = 'apple'
y = 'lemon'
z = "The items in the basket are %s and %s" % (x,y)

References