The placeholder is defined using curly brackets: {}. Read more about the placeholders in the Placeholder section below. Show
The Syntaxstring.format(value1, value2...) Parameter ValuesParameterDescriptionvalue1, value2...Required. One or more values that should be formatted and inserted in the string.The values are either a list of values separated by commas, a key=value list, or a combination of both. The values can be of any data type. The PlaceholdersThe placeholders can be identified using named indexes Python v2.7 introduced a new string fomatting method, that is now the default in Python3. I started this string formatting cookbook as a quick reference to help me format numbers and strings. Thanks to other contributors I've expanded the examples over time. Python 3.6 introduced, formatted string literals, often referred to as f-strings as another method to help format strings. below. Number FormattingThe following table shows various ways to format numbers using Python's str.format(), including examples for both float formatting and integer formatting. To run examples use: 2To get the output of the first example, formatting a float to two decimal places, you would run: 3NumberFormatOutputDescription3.1415926{:.2f}3.14Format float 2 decimal places3.1415926{:+.2f}+3.14Format float 2 decimal places with sign-1{:+.2f}-1.00Format float 2 decimal places with sign2.71828{:.0f}3Format float with no decimal places5{:0>2d}05Pad number with zeros (left padding, width 2)5{:x<4d}5xxxPad number with x's (right padding, width 4)10{:x<4d}10xxPad number with x's (right padding, width 4)1000000{:,}1,000,000Number format with comma separator0.25{:.2%}25.00%Format percentage1000000000{:.2e}1.00e+09Exponent notation13{:10d} 13Right aligned (default, width 10)13{:<10d}13Left aligned (width 10)13{:^10d} 13Center aligned (width 10)string.format() basicsHere are a couple of examples of basic string substitution, the 4 is the placeholder for substituted variables. If no format is specified, it will insert and format as a string.
You can also use the numeric position of the variables and change them in the strings, this gives some flexibility when doing the formatting, if you make a mistake in the order you can easily correct without shuffling all the variables around.
đź’ˇ Tip: You can use 4 as a variable inside the formatting brackets (h/t Peter Beens for tip). This example uses a precision variable to control how many decimal places to show:
Older % string formatterPrior to python 2.6, the way to format strings tended to be a bit simpler, though limited by the number of arguments it can receive. These methods still work as of Python 3.3, but there are veiled threats of deprecating them completely though no time table. [PEP-3101] Formatting a floating point number:An example comparing the older 6 with 7 for formatting a float number:
Multiple Substitution ValuesAn example comparing variable substitution:
Not Enough ArgumentsUsing the older format method, I would often get the errors:
or
because I miscounted my substitution variables, doing something like the following made it easy to miss a variable. The new Python string formatter you can use numbered parameters so you don't have to count how many you have, at least on half of it.
More String Formatting with .format()The format() function offers a fair amount of additional features and capabilities, here are a few useful tips and tricks using .format() Named ArgumentsYou can use the string format as a template engine using named arguments, instead of requiring a strict order.
đź’ˇ If you are using Python 3.6 or greater, see the below for an easier way to create template--they also compute faster interpolations! Reuse Same Variable Multiple TimesUsing % to format requires a strict ordering of variables, the 8 method allows you to put them in any order as well as repeating for reuse.
Convert Values to Different BasesA surprising use, you can use the string format command to convert numbers to different bases. Use the letter in the formatter to indicate which number base: decimal, hex, octal, or binary. This example formats the number 9 in each base: 0Use Format as a FunctionYou can use 0 as a function to separate text and formatting from code. For example, at the beginning of your program include all your formats for later use. 1Hat tip to earthboundkids who provided this on reddit. Using format as a function can be used to adjust formating by user preference. 2InternationalizationTo use locale specific formatting for numbers, you need to first set the locale, and then use the formating code 1 instead of 2. For example, using commas or periods to separate thousands in numbers based on the user's locale.Here is an example, setting locale and formatting a number to display the proper separator: 3Escaping BracesIf you need to use braces when using 3 just double them up: 4Table Formatting DataUse the width and the left and right justification to align your data into a nice table format. Here's an example to show how to format: 5This would output: 6F-StringsPython 3.6 introduced formatted string literals--yet another method of formatting strings--referred to as f-strings because you start the string specifying an 4 on the outside of the quotes, like so 5. F strings use a shorter syntax making it easier and more template-like. 7Formatted string literals support running functions inside of the brackets 6 this allows you to:1. Do math with f-strings: 82. Call functions with f-strings; 9You can use f-strings using the three different type of quotation marks in Python, single, double, or triple quotes. The following will all output the same: 0The one thing you'll want to be careful is mixing the two formats, if you try to use 4 inside of an f-string, you will get the error:
What does %2f mean?“print” treats the % as a special character you need to add, so it can know, that when you type “f”, the number (result) that will be printed will be a floating point type, and the “. 2” tells your “print” to print only the first 2 digits after the point.
How do you use %2f in Python?2f is a placeholder for floating point number. So %d is replaced by the first value of the tuple i.e 12 and %. 2f is replaced by second value i.e 150.87612 .
...
Python String Formatting.. Is 2f a float?2f syntax tells Java to return your variable (value) with 2 decimal places (. 2) in decimal representation of a floating-point number (f) from the start of the format specifier (%).
Why is 2f not working in Python?2f format, the value should be a float , not a string, so you need to convert the input to float ( input() returns a string, there's no need to use str() on the result. And you can't concatenate $ to the value before formatting it, you need to concatenate that to the result.
|