Python 3 for Absolute Beginners and over 1.5 million other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Python 3 for Absolute Beginners on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Python 3 for Absolute Beginners (Expert's Voice in Open Source) [Paperback]

T Hall , J-P Stacey
1.0 out of 5 stars  See all reviews (1 customer review)
RRP: £25.99
Price: £20.27 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £5.72 (22%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Friday, 21 June? Choose Express delivery at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition £17.23  
Paperback £20.27  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Visit the Books Trade-In Store for more details. Special Offer until June 30, 2013: Receive an additional £5 promotional Gift Certificate, when you trade-in at least £10 worth of books. Learn more.

Book Description

25 Oct 2009 1430216328 978-1430216322 1

There are many more people who want to study programming other than aspiring computer scientists with a passing grade in advanced calculus. This guide appeals to your intelligence and ability to solve practical problems, while gently teaching the most recent revision of the programming language Python.

You can learn solid software design skills and accomplish practical programming tasks, like extending applications and automating everyday processes, even if you have no programming experience at all. Authors Tim Hall and J–P Stacey use everyday language to decode programming jargon and teach Python 3 to the absolute beginner.

What you’ll learn

  • Cultivate a problem–solving approach and acquire software design skills.
  • Learn how to create your own software from simple “Hello World”-type programs to stand–alone windowed applications.
  • Document while programming, program while documenting.
  • Decode programmers’ jargon.
  • Master the Python 3 programming language.

Who this book is for

Non–programmers who want to learn Python programming without taking a detour via a computer science department.

Table of Contents

  1. Introducing Python
  2. Designing Software
  3. Variables and Data Types
  4. Making Choices
  5. Using Lists
  6. Functions
  7. Working with Text
  8. Executable Files, Organization, and Python on the Web
  9. Classes
  10. Exceptions
  11. Reusing Code with Modules and Packages
  12. Simple Windowed Applications


Product details

  • Paperback: 295 pages
  • Publisher: APRESS; 1 edition (25 Oct 2009)
  • Language: English
  • ISBN-10: 1430216328
  • ISBN-13: 978-1430216322
  • Product Dimensions: 19.1 x 1.6 x 23.5 cm
  • Average Customer Review: 1.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 390,217 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:


Customer Reviews

5 star
0
4 star
0
3 star
0
2 star
0
1.0 out of 5 stars
1.0 out of 5 stars
Most Helpful Customer Reviews
8 of 10 people found the following review helpful
1.0 out of 5 stars GUI-part of this book is not Python3 10 Oct 2010
By Rolf M
Format:Paperback
The entire GUI-part of this book is not in Python3, but in Python 2.5, "...because Python 3 support for graphical interfaces wasn't complete at the time of the writing."

Why does is say on the cover "Python 3" when such an important part isn't? And it doesn't get mentioned anywhere until the first few lines of the chapter handling the GUI. Especially important since the language has changed and is non-compatible back-wards from 3 -> 2.x.

The rest of the book is mostly how to use the various code, like lists, functions, classes, etc. Not much on how to write full programs, only bits of programs with "print("Yay! Success!")" as output.

What I like, though, is the "Jargon Busting," a page last in every chapter that explains a few Python expressions for beginners.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.8 out of 5 stars  11 reviews
42 of 54 people found the following review helpful
1.0 out of 5 stars Not a Good Learning Guide for "Aboslute Beginners" 26 Dec 2009
By Plabius - Published on Amazon.com
Format:Paperback
I awaited eagerly for the publication of this book. I had high hopes for it, but those hopes were dashed. This book suffers from three failings - the first of which is trivial, but annoying and confusing; the second is more problematic, and annoying and confusing; and the third is simply fatal. For an "absolute beginner" book, it fails not because it expects too much, but because it accomplishes too little.

First: The principal author, Tim Hall, is British. Because of this, he employs the Metric system in some of his code snippets, and the spelling used by speakers and writers of English in the United Kingdom. Now in and of itself, there is certainly nothing wrong with this; however in a book sold here in the USA, it is confusing. For example, on p. 43, the author begins to develop an application that is intended to calculate how much fabric will be needed to make curtains, depending on measurements input by the user. The measurements that he uses are given in centimeters and meters. Here is the US, however, fabric (from clothing to drapery to upholstery) is measured in inches and yards. Indeed, with the exception of the sciences (and to a lesser degree, a few others), we use the Imperial system of measurement (eg., pounds instead of kilograms, yard rather than meter, and quart instead of liter -- though that last one is becoming more common). In addition, the author uses both the American and British spelling of words. For example, on p. 44 he spells the word "meter" both as "meter" and as "metre"; and on p. 93, he spells the word "armor" as "armour". This is essentially trivial, but confusing and annoying.

Second: The book is riddled with examples of poor editing. For example, in versions of Python prior to 3.0, displaying text on the screen was handled by the print statement:

print "Hello, World!"

But in Python 3 and higher, the print statement no longer exists, as it has been replaced by a print function. Thus, the previous must be typed as:

print("Hello, World!")

In the first half of the book, however, the print statement appears more often than the print function. This is a problem because use of the print statement raises an error that causes the program to crash.

Lastly: The most serious failing of the book, unfortunately, is the poverty of the pedagogical technique employed by the author to teach programming. The author spends much more time covering version three of the Python language, and "professional" coding practices, than he spends actually teaching the reader how to program a computer with them. This is like teaching someone how an automobile works, or how to design one, without teaching someone how to drive it.

Many elements of the language are introduced, but we are given very little opportunity to practice programming a computer using them. No programming exercises are given during the course of reading the chapters, and none are given at the end of the chapters. Instead, the author introduces programming elements, shows their use as if the reader were typing them in a (Unix type) console himself, and then employs them in very large program toward the end of the chapter, one that he has written himself. There is no incremental building of knowledge and understanding through programming practice and experience, so the end-of-chapter program is a grievous labor to read through and understand.

For example, near the end of chapter five, there appears a program that covers six pages. It's a character-based roll-playing game of which the author, himself, says, there are "Limitations: Too many to mention." (p. 93). By the time you have finished typing in the code, much of which you will not understand unless you have a photographic memory, you're exhausted and your fingertips are numb! And when you have run the program, what you get in return for all of your efforts, is both disappointing and depressing. Following the program's listing in the book, the author briefly discusses some of the kinds of changes that you can make to the program, and suggests that you consider doing so, but he doesn't discuss precisely what or how. Furthermore, the roll-playing game was so completely uninspiring, that I felt no motivation whatsoever even to look at it again, let alone attempt to improve it. In chapter six, the author introduces more elements of the language, works them into the same roll-playing game, increases the amount of code to type in, and yet, produces the same results: an uninspiring and useless program that by now, you are beginning to despise.

The end-of-chapter applications are quite large, and this is precisely the problem. Essentially, this is because you are trying to run before you have learned how to walk, and to walk before you have learned how to crawl.

Conclusion: The first two problems that I discussed would be solved simply by a corrected editorial reprint of the book. The last, however, would be solved only by a complete rewrite of the material. The author is very enthusiastic about what he is doing, and I got the impression that he is an excellent computer programmer; unfortunately, being a good computer programmer is not the same as being a good teacher. And because the author is a poor teacher, you will not very well learn how to program a computer from reading this book.

As an alternative, I recommend Head First Programming: A Learner's Guide to Programming Using the Python Language, by Paul Barry and David Griffiths. Although this book uses Python 3, it isn't designed to teach the Python programming language; rather, it is designed to teach you how to program a computer (via Python 3), and their technique is excellent! Learning how to program a computer is what an absolute beginner is supposed to be doing. Programming concepts are language independent. The authors chose Python because Python makes learning (and implementing) programming concepts easier than other languages. Another very good one is, Hello World!: Computer Programming for Kids and Other Beginners, by Warren and Carter Sande. This book uses Python 2.5.1, so you won't become familiar with Python 3.x. The good news is that the author has a very good understanding of how people learn and he also knows how to teach.
6 of 6 people found the following review helpful
5.0 out of 5 stars Excellent beginners book 2 April 2010
By Anton Piatek - Published on Amazon.com
Format:Paperback
Python 3 for Absolute Beginners, Tim Hall and J-P Stacey, Apress (ISBN: 978-1-4302-1632-2)

Disclaimer: I was asked to review this book through the Hampshire Linux User Group. I did not receive any instruction for the outcome of the review nor any payment for the review (though I did get to keep the book).

I believe it is important to know something about a reviewer of a book, so that the statements made can be fully appreciated. I am a Software Developer, so spend most of my day reading and writing code. These days it is mostly Perl and Java, though some days it is all C++. I have never written Python before, though I have poked at about two scripts (and even made a fix to one), but it is probably fair to say that I have spent less than an hour looking at Python code before reading this book.

The book does actually mention that the source code examples are available for download from [...] however it is mentioned on the first inside page where all the copyright information is (and which you normally skip over automatically). If you want the exapmles, they are at [...]

The book opens fairly well for a beginners book, and seems strongly aimed at someone who has never programmed before (I have heard lots of people recommending Python as a good language to teach yourself programming with and can understand why). I was pleased to an early reference to Monty Python as well, as this is where the name Python comes from.

The use of Python's interactive interpreter is excellent and it makes for great examples of simple parts of the language, while also being so short that you actually want to type them into your computer and try them out! In particular the author's use of Pythons interpreter to print out details of a data-type or variable, and even the outcome of comparisons (e.g. entering "1==2" into the Python interpreter returns "False" without having to actually use a print statement or any other debug methods which I think is fantastic for a new programmer and a real time saver)

It is a shame that the author fails to stress the differences between Python 2.x and 3.x strongly enough. While some code will work on both versions, there are very large changes and it should have been made more clear early on that Python 2.x code is unlikely to work in Python 3.x, and vice-versa, as I would expect users to also seek examples on the web and it will just be confusing if the examples don't work because of changes between versions of Python.

By chapter two some software design principles have been introduced alongside the first actual program, which is of course "hello world". The author spends a long time talking about Software Engineering and Design principles, which is all valuable information, but I doubt many readers will actually spend time reading this and will instead skip over it. It does cover pretty much everything from design approaches (inside-out vs top-down) all the way to code control, versioning, comments, documentation, etc so certainly tries to cover all the bases.

The book then moves on to explaining variables and datatypes, operators and precedence, integers vs floats and all the core basics of a language. I initially thought that explanations of Octal and Hexadecimal values were perhaps a little advanced for a book aimed at "Absolute Beginners", but the author did make a good point that these are often used in file permissions and html colours and this makes them very useful to know.

The examples in the book start off short and sweet, but at some point the author had the idea to continually rework a text-based RPG game he invented for the book. The only problem with this is that you end up staring at several pages of code, and all you want to do then is skip over it, and then start skipping the explanations of this long code. I think the author was trying to teach some good refactoring techniques throughout the book by using this larger piece of code, however I feel that shorter, separate examples would have been easier to understand.

At one point the example programs start using '#! /usr/bin/env python' as the first line of the code but without any explanation. My personal opinion is that '#!/usr/bin/python' is more common however even that has its problems. As Python 3 is still very new, pretty much all current Linux systems will have Python 2.x installed as /usr/bin/python so both of these methods would attempt to run the code with Python 2.x and not 3.x. Many of the example source files from the website are also the same, and because they do not define python3 as the interpreter via the hash-bang (#!) line they will not run if you just try to execute them, which is a real shame. Some of the downloaded source code gets very close with '#! /usr/bin/env python3.0', however on Ubuntu Karmic the current Python 3.x version is 3.1, so this code still fails to run unless you explicitely call it with Python3.1 or edit the line to just have "#!/usr/bin/env python3' which is symlinked to 3.1 Some of the short examples, particularly around regular expressions, refer back to variables that were last shown to the reader four or give pages previously. This makes it very hard

Other than the above minor problems with the book, it makes a very thorough introduction to programming and Python 3. If you have never programmed, then this is a very good book to start with. If you have programmed, but never in Python then this book is still very good, though you will find yourself skipping sections here and there. If you already know Python 2.x then this book is probably not for you, as it only explains a few changes between version 2.x and 3, and you will probably know the rest already.

One thing to mention is that Python 3 is still very new, and in fact 2.6 is the default for the Ubuntu Lucid Lynx release as well as (at this stage) Debian Squeeze. I expect Python 3 is still a few good years from becoming the default - This is either a good thing as you have more time to learn version 3, or it can be seen as a bad thing as most existing code is based on 2.x and will need quite a bit of changing to work in version 3 (and vice-versa).

[ review originally posted at [...]]
3 of 3 people found the following review helpful
3.0 out of 5 stars Kindle edition lacking 11 May 2011
By Mark D. Wiygul - Published on Amazon.com
Format:Kindle Edition
unfortunately, the code samples are simple screenshots that are frequently too small to be legible on the kindle, even after zooming in. The rest of the reading makes since and is quite instructive. I'd consider this edition in print. Kindle readers should avoid it.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges