Python's powerful string formatting function - format
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'
The format function of the string can accept unlimited parameters, the parameter positions can be out of order, and the parameters can not be used or Used 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'
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
By subscript
>>> '{0[1]}.{0[0]}.{1}'.format(['pyhtontab', 'www'], 'com') 'www.pyhtontab.com'
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
^, <、>They 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, the default is to fill it with spaces
Code example:
>>> '{:>10}'.format(2016) ' 2016' >>> '{:#>10}'.format(2016) '######2016' >>> '{:0>10}'.format(2016) '0000002016'
Number Precision and type f
Precision is often used together with type f
>>> '{:.2f}'.format(2016.0721) '2016.07'
Where. 2 represents the precision of length 2, and f represents the float type.
Other types
are mainly based on base. b, d, o, and x are binary, decimal, octal, and hexadecimal respectively.
>>> '{:b}'.format(2016) '11111100000' >>> '{:d}'.format(2016) '2016' >>> '{:o}'.format(2016) '3740' >>> '{:x}'.format(2016) '7e0' >>>
Used, the number can also be used as the thousands separator for the amount.
>>> '{:,}'.format(20160721) '20,160,721'
The function of format is too powerful, and there are many functions. You can try it.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

Fastapi ...

Using python in Linux terminal...

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

About Pythonasyncio...

Understanding the anti-crawling strategy of Investing.com Many people often try to crawl news data from Investing.com (https://cn.investing.com/news/latest-news)...

Loading pickle file in Python 3.6 environment error: ModuleNotFoundError:Nomodulenamed...

Discussion on the reasons why pipeline files cannot be written when using Scapy crawlers When learning and using Scapy crawlers for persistent data storage, you may encounter pipeline files...
