For 2023 (and 2024 ...) - we are now fully retired from IT training. We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here)) |
Python - input v raw input
If you use input, then the data you type is is interpreted as a [b]Python Expression[/b] which means that you end up with gawd knows what type of object in your target variable, and a heck of a wide range of exceptions that can be generated. So you should NOT use input unless you're putting something in for temporary testing, to be used only by someone who knows a bit about Python expressions.
raw_input always returns a string because, heck, that's what you always type in ... but then you can easily convert it to the specific type you want, and catch the specific exceptions that may occur. Hopefully with that explanation, it's a no-brainer to know which you should use.
Example
ccode = 386
first = input("please input something: ")
second = raw_input("please raw_input something: ")
print "First was ... ",first
print "Second was ... ",second
as_an_int_1 = int(first)
as_an_int_2 = int(second)
as_an_int_1 += 7
as_an_int_2 += 9
print "integers with addition ... ",as_an_int_1,as_an_int_2
Here's an example of that running ...
Dorothy:dec07 grahamellis$ python ivr
please input something: ccode
please raw_input something: ccode
First was ... 386
Second was ... ccode
And you start getting in to all sorts of issues if you don't realise quickly that one of your variables contains "386" not "ccode" ....
See also [here] and [here] for full source examples.
Update In Python 3, raw-input has been renamed input ... handing of line ends and rawness have been amended. This article applies to Python 2. (written 2007-12-06, updated 2010-02-28)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles Y102 - Python - Fundamentals [328] Making programs easy for any user to start - (2005-05-29) [633] Copying a reference, or cloning - (2006-03-05) [748] Getting rid of variables after you have finished with them - (2006-06-06) [956] Python security - trouble with input - (2006-11-30) [1430] Integer v float - Python - (2007-11-12) [1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28) [1878] Pascals Triangle in Python and Java - (2008-11-10) [2368] Python - fresh examples of all the fundamentals - (2009-08-20) [2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08) [2778] Learning to program in Python 2 ... and / or in Python 3 - (2010-05-24) [3083] Python - fresh examples from recent courses - (2010-12-11) [3181] Beware - a=a+b and a+=b are different - Python - (2011-02-23) [3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java. - (2011-05-05) [3551] Some terms used in programming (Biased towards Python) - (2011-12-12) [3886] Formatting output - why we need to, and first Python example - (2012-10-09) [3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09) [4324] Learning to program - variables and constants - (2014-11-22) [4442] Mutable v Immuatble objects in Python, and the implication - (2015-02-24) [4712] A reminder of the key issues to consider in moving from Python 2 to Python 3 - (2016-10-30)
Some other Articles
Perl, PHP, Python, Tcl, Linux, MySQL, Ruby courses ...Python Script - easy examples of lots of basicsAll the special characters in HTML ...10 training days to Christmas.Python - input v raw inputChristmas fare in LjubljanaInteractive training, and advancing techniques furtherThe wrong way to put up pricesA day in LjubljanaRight up to the top of the City
|
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).
|
|