There are two ways to format a Python string: a percent-semicolon, format-mode
The percent of the semicolon is relatively old, and format is a more advanced way to replace the old way, the two coexist. [PEP-3101]
This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '% ' s Tring formatting operator.
1, percent of the way
%[(name)][flags][width]. [Precision]typecode
- (name) optional, used to select the specified key
- Flags optional, selectable values are: width selectable, occupied
- + Right-aligned, positive plus, negative before plus minus;
- -left-justified; no sign before positive number, plus minus sign before negative number;
- Spaces are right-justified, plus a positive number before a negative number plus a minus sign;
- 0 Right alignment, no sign before positive number, minus sign before negative, and 0 padding in blank
- . Precision optional, number of digits retained after the decimal point
- TypeCode must choose
- S, gets the return value of the __str__ method of the passed-in object and formats it to the specified location
- R, gets the return value of the __repr__ method of the passed-in object and formats it to the specified location
- C, Integer: Converts a number to its Unicode corresponding value, 10 binary range is 0 <= i <= 1114111 (py27 only supports 0-255); character: add character to specified position
- O, converts an integer to an octal representation and formats it to a specified location
- X, converts an integer to a hexadecimal representation and formats it to a specified location
- D, converts an integer, floating-point number to a decimal representation, and formats it to a specified position
- E, converting integers, floating-point numbers to scientific notation, and formatting them to a specified location (lowercase e)
- E, converting integers, floating-point numbers into scientific notation, and formatting them to a specified position (uppercase E)
- F, converts an integer, floating-point number to a floating-point number representation, and formats it to a specified position (the default is 6 digits after the decimal point)
- F, ibid.
- G, auto-adjust convert integers, floating-point numbers to floating-point or scientific notation (more than 6 digits in scientific notation), and format them to a specified location (if scientific counts are e;)
- G, auto-adjust convert integers, floating-point numbers to floating-point or scientific notation (more than 6 digits in scientific notation), and format them to a specified location (if scientific counts are e;)
- %, when there is a format flag in the string, a percent sign is required
Note: There is no way to automatically convert an integer to a binary representation in Python with a percent-semicolon format
Common formatting:
TPL ="I am%s"%"Alex"TPL="I am%s age%d"% ("Alex", 18) TPL="I am% (name) s age percent (age) D"% {"name":"Alex"," Age": 18} TPL="percent%.2f"% 99.97623TPL="I am% (PP). 2f"% {"pp": 123.425556,} TPL="I am%.2f percent"% {"pp": 123.425556,}
2. Format mode
[[Fill]align] [Sign] [#] [0] [Width] [,] [. Precision] [Type]
- Fill "optional" white space filled with characters
- Align "optional" alignment (required with width)
- <, content left justified
- Content right-aligned (default)
- =, the content is right-aligned, the symbol is placed to the left of the padding character, and only valid for numeric types. Even: symbol + filler + number
- ^, content centered
- Sign "optional" with unsigned number # "optional" for binary, octal, hexadecimal, if you add #, it will display 0b/0o/0x, otherwise not display
- +, positive home Plus, minus plus negative;
- -The plus sign does not change, minus is negative;
- Spaces, plus spaces, minus signs and negative;
- , "optional" adds a delimiter to the number, such as: 1,000,000
- width "Optional" format the size of the placeholder
- . Precision "optional" decimal digits reserved Precision
- type "optional" format type
- incoming arguments for string type
- S, formatting string type data
- blank, no type specified, default is None, with S
- parameter passed to integer type
- B, converting 10-integer integers to 2-binary notation and then formatting
- C, automatically converting 10-integer integers to their corresponding unicod The e character
- d, decimal integer
- o, automatically converts a 10-decimal integer to a 8-binary representation and then formats it;
- x automatically converts 10 binary integers to 16 binary Represents and then formats (lowercase x)
- x, automatically converts a 10-based integer to a 16-binary representation and then formats (uppercase X)
- incoming float or decimal type parameter
- E, converted to scientific notation (lowercase e), and then formatted;
- E, converted to scientific notation (capital E), and then formatted;
- F, converted to floating point (6 bits left after the default decimal point), and then formatted;
- F, converted to floating point (6 bits left after the default decimal point), and then formatted;
- g, automatically toggle between E and F
- G, automatically toggle between E and F
- %, display percent (6 digits after the decimal point by default)
Common formatting:
TPL ="I am {}, age {}, {}". Format ("Seven", 18,'Alex') TPL="I am {}, age {}, {}". Format (*["Seven", 18,'Alex']) TPL="I am {0}, age {1}, really {0}". Format ("Seven", 18) TPL="I am {0}, age {1}, really {0}". Format (*["Seven", 18]) TPL="I am {name}, age {age}, really {name}". Format (name="Seven", age=18) TPL="I am {name}, age {age}, really {name}". Format (**{"name":"Seven"," Age": 18}) TPL="I am {0[0]}, age {0[1]}, really {0[2]}". format ([1, 2, 3], [11, 22, 33]) TPL="I am {: s}, age {:d}, Money {: F}". Format ("Seven", 18, 88888.1) TPL="I am {: s}, age {:d}". Format (*["Seven", 18]) TPL="I am {name:s}, age {age:d}". Format (name="Seven", age=18) TPL="I am {name:s}, age {age:d}". Format (**{"name":"Seven"," Age": 18}) TPL="numbers: {: b},{:o},{:d},{:x},{:x}, {:%}". Format (15, 15, 15, 15, 15, 15.87623, 2) TPL="numbers: {: b},{:o},{:d},{:x},{:x}, {:%}". Format (15, 15, 15, 15, 15, 15.87623, 2) TPL="numbers: {0:b},{0:o},{0:d},{0:x},{0:x}, {0:%}". Format (15) TPL="numbers: {num:b},{num:o},{num:d},{num:x},{num:x}, {num:%}". Format (NUM=15)
string formatting of Python