newer technique added in python and this form is derived in part from same-named tool in #netand overlaps with string formatting expression functionality since the method call flavor is newerthere is some chance that one or the other of these may become deprecated and removed over time when was released in the expression seemed more likely to be deprecated in later python releases indeed ' documentation threatened deprecation in and removal thereafter this hasn' happened as of and and now looks unlikely given the expression' wide use--in factit still appears even in python' own standard library thousands of times todaynaturallythis story' development depends on the future practice of python' users on the other handbecause both the expression and method are valid to use today and either may appear in code you'll come acrossthis book covers both techniques in full here as you'll seethe two are largely variations on themethough the method has some extra features (such as thousands separators)and the expression is often more concise and seems second nature to most python programmers this book itself uses both techniques in later examples for illustrative purposes if its author has preferencehe will keep it largely classifiedexcept to quote from python' import this mottothere should be one--and preferably only one--obvious way to do it unless the newer string formatting method is compellingly better than the original and widely used expressionits doubling of python programmersknowledge base requirements in this domain seems unwarranted--and even un-pythonicper the original and longstanding meaning of that term programmers should not have to learn two complicated tools if those tools largely overlap you'll have to judge for yourself whether formatting merits the added language heftof courseso let' give both fair hearing formatting expression basics since string formatting expressions are the original in this departmentwe'll start with them python defines the binary operator to work on strings (you may recall that this is also the remainder of divisionor modulusoperator for numberswhen applied to stringsthe operator provides simple way to format values as strings according to format definition in shortthe operator provides compact way to code multiple string substitutions all at onceinstead of building and concatenating parts individually to format strings on the left of the operatorprovide format string containing one or more embedded conversion targetseach of which starts with ( %dstring formatting expressions