Home > Backend Development > Python Tutorial > Python's powerful string formatting function-format

Python's powerful string formatting function-format

大家讲道理
Release: 2016-11-07 10:50:03
Original
1469 people have browsed it

Since python2.6, a new function str.format() for formatting strings has been added, which is very powerful. So, what advantages does it have compared with the previous % formatted string? Let's unveil its shyness.

Syntax

It uses {} and: instead of %

Positional method formatting

>>> '{}.{}'.format('pythontab', 'com')
'pythontab.com'
>>> '{}.{}.{}'.format('www', 'pythontab', 'com')
'www.pythontab.com'
>>> '{1}.{2}'.format('www', 'pythontab', 'com')
'pythontab.com'
>>> '{1}.{2} | {0}.{1}.{2}'.format('www', 'pythontab', 'com')
'pythontab.com | www.pythontab.com'
Copy after login

The format function of the string can accept unlimited parameters, the parameter positions can be out of order, and the parameters can be used or not. Multiple times, very flexible

Note: It cannot be empty {} under python2.6, but it can be used in python2.7 or above.

By keyword parameters

>>> '{domain}, {year}'.format(domain='www.pythontab.com', year=2016)
'www.pythontab.com, 2016'
>>> '{domain} ### {year}'.format(domain='www.pythontab.com', year=2016)
'www.pythontab.com ### 2016'
>>> '{domain} ### {year}'.format(year=2016,domain='www.pythontab.com')
'www.pythontab.com ### 2016'
Copy after login

By object properties

>>> class website: 
        def __init__(self,name,type): 
            self.name,self.type = name,type 
        def __str__(self): 
          return 'Website name: {self.name}, Website type: {self.type} '.format(self=self) 
>>> print str(website('pythontab.com', 'python'))
Website name: pythontab.com, Website type: python
>>> print website('pythontab.com', 'python')
Website name: pythontab.com, Website type: python
Copy after login

By subscripts

>>> '{0[1]}.{0[0]}.{1}'.format(['pyhtontab', 'www'], 'com')
'www.pyhtontab.com'
Copy after login

With these convenient "mapping" methods, we have a lazy tool. Basic python knowledge tells us that lists and tuples can be "broken" into ordinary parameters for functions, while dict can be broken into keyword parameters for functions (through and *). So you can easily pass a list/tuple/dict to the format function, which is very flexible.

Format qualifiers

It has a wealth of "format qualifiers" (the syntax is {} with a symbol in it), such as:

Padding and alignment

Padding is often used together with alignment

^ , <、> are centered, left-aligned and right-aligned respectively, followed by width

: The padding character after the sign can only be one character. If not specified, it will be filled with spaces by default

Code example:

>>> &#39;{:>10}&#39;.format(2016)
&#39;      2016&#39;
>>> &#39;{:#>10}&#39;.format(2016)
&#39;######2016&#39;
>>> &#39;{:0>10}&#39;.format(2016)
&#39;0000002016&#39;
Copy after login

Number precision Precision is often used with type f

precision is often used together with type f

>>> &#39;{:.2f}&#39;.format(2016.0721)
&#39;2016.07&#39;
Copy after login

where .2 represents the precision of length 2, and f represents float type.

Other types

are mainly based on base. b, d, o, and x are binary, decimal, octal, and hexadecimal respectively.

>>> &#39;{:b}&#39;.format(2016)
&#39;11111100000&#39;
>>> &#39;{:d}&#39;.format(2016)
&#39;2016&#39;
>>> &#39;{:o}&#39;.format(2016)
&#39;3740&#39;
>>> &#39;{:x}&#39;.format(2016)
&#39;7e0&#39;
>>>
Copy after login

Used, numbers can also be used as thousands separators for amounts.

>>> &#39;{:,}&#39;.format(20160721)
&#39;20,160,721&#39;
Copy after login

format is so powerful and has many functions. You can try it out.

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template