Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Formatted Printing in Python

Python has no "printf" or "sprintf" - use the % operator on a string object which is the format string instead. Let me show you that ...

Firstly, what do we get if we do NOT format?

>>> val = 1. / 17.
>>> print val
0.0588235294118


Here it is, formatted to 4 figures after the decimal place:

>>> val24dp = "%.4f" % val
>>> print val24dp
0.0588


And with a total field width of 8 characters, of which 4 are after the decimal place (the 8 is a total width and NOT the number of places before!)

>>> f2 = "A seventeenth is %8.4f to 4 places" % val
>>> print f2
A seventeenth is   0.0588 to 4 places


Whole numbers are formatted with a "d" - that stands for "decimal" as opposed to "x" for hexadecimal, or the letter "o" for Octal.

>>> n = 5
>>> vv = "There are %3d in stock" % n
>>> print vv
There are   5 in stock


And if I want to format several values at the same time, I can do so by using multiple % based place holders, and then specifying a tuple for formatting.

>>> vx = "There are %d in stock at %.4fp each" % (n,val)
>>> print vx
There are 5 in stock at 0.0588p each


(written 2010-05-25)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y108 - Python - String Handling
  [324] The backtick operator in Python and Perl - (2005-05-25)
  [463] Splitting the difference - (2005-10-13)
  [496] Python printf - (2005-11-15)
  [560] The fencepost problem - (2006-01-10)
  [773] Breaking bread - (2006-06-22)
  [903] Pieces of Python - (2006-10-23)
  [943] Matching within multiline strings, and ignoring case in regular expressions - (2006-11-25)
  [954] Splitting Pythons in Bradford - (2006-11-29)
  [970] String duplication - x in Perl, * in Python and Ruby - (2006-12-07)
  [1110] Python - two different splits - (2007-03-15)
  [1195] Regular Express Primer - (2007-05-20)
  [1517] Python - formatting objects - (2008-01-24)
  [1608] Underlining in Perl and Python - the x and * operator in use - (2008-04-12)
  [1876] Python Regular Expressions - (2008-11-08)
  [2284] Strings as collections in Python - (2009-07-12)
  [2406] Pound Sign in Python Program - (2009-09-15)
  [2692] Flexible search and replace in Python - (2010-03-25)
  [2721] Regular Expressions in Python - (2010-04-14)
  [2765] Running operating system commands from your Python program - (2010-05-14)
  [2814] Python - splitting and joining strings - (2010-06-16)
  [3090] Matching to a string - what if it matches in many possible ways? - (2010-12-17)
  [3218] Matching a license plate or product code - Regular Expressions - (2011-03-28)
  [3349] Formatting output in Python through str.format - (2011-07-07)
  [3468] Python string formatting - the move from % to str.format - (2011-10-08)
  [3469] Teaching dilemma - old tricks and techniques, or recent enhancements? - (2011-10-08)
  [3796] Backquote, backtic, str and repr in Python - conversion object to string - (2012-07-05)
  [3886] Formatting output - why we need to, and first Python example - (2012-10-09)
  [4027] Collections in Python - list tuple dict and string. - (2013-03-04)
  [4152] Why are bus fares so high? - (2013-08-18)
  [4213] Formatting options in Python - (2013-11-16)
  [4307] Identifying and clearing denial of service attacks on your Apache server - (2014-09-27)
  [4360] Python - comparison of old and new string formatters - (2014-12-22)
  [4593] Command line parameter handling in Python via the argparse module - (2015-12-08)
  [4595] Python formatting update - including named completions - (2015-12-10)
  [4659] Prining a pound sign from Python AND running from the command line at the same time - (2016-03-03)


Back to
The history and future of Melksham Chamber of Commerce
Previous and next
or
Horse's mouth home
Forward to
The 500 pound question to get you started
Some other Articles
Course Lunches
The Perl Survey
Tell the Melksham Chamber or you only have yourself to blame
The 500 pound question to get you started
Formatted Printing in Python
The history and future of Melksham Chamber of Commerce
Learning to program in Python 2 ... and / or in Python 3
Blowing our own trumpet
Regional Spatial Strategy and the next 20 years - Whence Wiltshire under the new government?
Declarations of interest - knowing where you stand with people
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2780_For ... ython.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb