The function of formatting strings is included in many programming languages, such as formatted input and output in C and Fortran languages. Python has built-in operations for formatting strings%.
Template
When formatting a string, Python uses a string as a template. Templates have formatters that reserve space for real values and describe the format in which real values should appear. Python uses a tuple to pass multiple values to the template, each value corresponding to a format character.
For example:
Python
1
PRint("I'm %s . I'm %d year old" % ( 'Vamei', 99))
In the above example,
"I'm %s. I'm %d year old" is our template. %s is the first format character, representing a string. %d is the second format character, representing an integer. The two elements 'Vamei' and 99 of ('Vamei', 99) are the real values replacing %s and %d.
Between the template and the tuple, there is a % sign separating it, which represents the formatting operation.
The entire “I’m %s. I’m %d year old” % (‘Vamei’, 99) actually constitutes a string expression. We can assign it to a variable just like a normal string. For example:
Python
1
2
a = "I'm %s. I'm %d year old" % ('Vamei ', 99)
print(a)
We can also use dictionaries to pass real values. As follows:
Python
1
print("I'm %(name)s. I'm %(age) d year old" % {'name':'Vamei', 'age':99})
As you can see, we have named the two format characters. Names are enclosed in (). Each name corresponds to a key in the dictionary.
Format characters
Format characters reserve space for real values and control the format of display. The format character can contain a type code to control the type of display, as follows:
%s String (displayed using str())
%r String (displayed using repr())
%c Single character
%b Binary integer
%d Decimal integer
%i Decimal integer
%o Octal integer
%x Hexadecimal integer
%e Exponent (base written as e)
%E Exponent (the base is written as E)
%f Floating point number
%F Floating point number, the same as above
%g Exponent (e) or floating point number (according to the display length)
%G Exponent (E) or floating point Points (according to display length)
%% Character "%"
You can use the following method to further control the format:
%[(name)][flags][width].[precision ]typecode
(name) is a named
flags that can have +, -, ' ' or 0. + means right alignment. - means left alignment. ' ' is a space, which means padding a space to the left of the positive number to align it with the negative number. 0 means use 0 padding.
width represents the display width
precision represents the precision after the decimal point
For example:
Python
1
2
3
print ("%+10x" % 10)
print("%04d" % 5)
print("%6.3f" % 2.3)
The width and precision above are two integers. We can use * to dynamically substitute these two quantities. For example:
Python
1
print("%.*f" % (4, 1.2))
Python actually Replace * with 4. So the actual template is "%.4f".
Summary
The built-in % operator in Python can be used to format string operations and control the presentation format of strings. There are other ways to format strings in Python, but using the % operator is the most convenient.
The above is the content of Python quick tutorial (Supplement 05): String formatting (% operator). For more related content, please pay attention to the PHP Chinese website (www.php.cn)!