Home  >  Article  >  Backend Development  >  Summary of formatted output usage in python

Summary of formatted output usage in python

黄舟
黄舟Original
2016-12-28 17:59:401459browse

The examples in this article summarize the usage of formatted output in python. Share it with everyone for your reference, the details are as follows:

Python has a total of two formatted output syntaxes.

One is similar to C language printf, called Formatting Expression

>>> '%s %d-%d' % ('hello', 7, 1)  
'hello 7-1'

The other is similar to C#, called String Formatting Method Calls

>>> '{0} {1}:{2}'.format('hello', '1', '7')  
'hello 1:7'

The first way can specify the precision of floating point numbers, for example

>>> '%.3f' % 1.234567869  
'1.235'

Dynamically specify the precision of floating point numbers during runtime

But how to dynamically specify floating point numbers through parameters when the code is running? What about accuracy?

The magic of python is that it provides a very convenient syntax. Just add a * before the typecode (here f), and the precision of the floating point number is specified by the number in front of it.

>>> for i in range(5):  
... '%.*f' % (i, 1.234234234234234)  
...  
'1'  
'1.2'  
'1.23'  
'1.234'  
'1.2342'

It can be seen from the output results that the precision is dynamically specified at runtime, which eliminates the need to piece together format strings.

Using String Formatting Method Calls can complete the function more concisely.

>>> for i in range(5):  
...  '{0:.{1}f}'.format(1 / 3.0, i)  
...  
'0'  
'0.3'  
'0.33'  
'0.333'  
'0.3333'

Implementing a simple template tool

The template language provided by Django allows us to bind python variables to the html file through a dict (dictionary). In fact, it uses python formatting For output we can also just do a text replacement function.

>>> replay = """ 
... Hello World Cup... 
... Germany vs Brazil 
... %(germany)d : %(brazil)d"""  
>>> print(replay % {'germany': 7, 'brazil': 1})  
Hello World Cup...  
Germany vs Brazil  
7 : 1

You can also play like this

>>> germany = 7  
>>> brazil = 1  
>>> '%(germany)d : %(brazil)d' % vars()  
'7 : 1'

Access object properties and dictionary key values ​​in the format string

>>> 'My {1[kind]} runs {0.platform}'.format(sys, {'kind': 'pc'})  
'My pc runs linux'  
>>> 'My {map[kind]} runs {sys.platform}'.format(sys=sys, map={'kind': 'pc'})  
'My pc runs linux'

In the format string through subscripts (positive integers )Access list elements

>>> somelist = list('SPAM')  
>>> 'first={0[0]}, third={0[2]}'.format(somelist)  
'first=S, third=A'  
>>> 'first={0}, last={1}'.format(somelist[1], somelist[-1])  
'first=P, last=M'  
>>> parts = somelist[0], somelist[-1], somelist[1:-1]  
>>> 'first={0}, last={1}, middle={2}'.format(*parts)  
"first=S, last=M, middle=['P', 'A']"  
>>>

The above is a summary of formatted output usage in python. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn