Home  >  Article  >  Backend Development  >  String formatting (% operator)

String formatting (% operator)

高洛峰
高洛峰Original
2016-10-20 10:02:391577browse

The function of formatting strings is included in many programming languages, such as formatted input and output in C and Fortran languages. The built-in operator for formatting strings in Python is "%".

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, the following example:

print("I'm %s. I'm %d" % ('Pythontab', 1))

In the above example,

"I'm %s. I 'm %d" is our template. %s is the first format character, representing a string. %d is the second format character, representing an integer. The two elements 'Pythontab' and 99 of ('Pythontab',99) are the real values ​​that replace %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" % ('Pythontab', 1) actually constitutes a string expression. We can assign it to a variable just like a normal string. For example:

a = "I'm %s. I'm %d" % ('Pythontab', 1)

print(a)

The result is: I'm Pythontab. I'm 1

us Dictionaries can also be used to pass real values. As follows:

print("I'm %(name)s. I'm %(age)d" % {'name':'Pythontab', 'age':99})

You can see that we Two format characters are named. 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 number (According to the display length)

%% The character "%"

can be further controlled in the format as follows:

%[(name)][flags][width].[precision]typecode

( name) is named

flags 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:

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:

print("%.*f" % (4, 1.2))

Python actually replaces * 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.


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