Log in | Back to darenet.org

Python en:Preface

66.201.51.66 (Talk)
(Status Of The Book: - another minor edit to grammer)
Newer edit →

Revision as of 22:50, 10 November 2008

Python is probably one of the few programming languages which is both simple and powerful. This is good for both and beginners as well as experts, and more importantly, is fun to program with. This book aims to help you learn this wonderful language and show how to get things done quickly and painlessly - in effect 'The Perfect Anti-venom to your programming problems'.

In This Guide:

Who This Book Is For

This book serves as a guide or tutorial to the Python programming language. It is mainly targeted at newbies. It is useful for experienced programmers as well.

The aim is that if all you know about computers is how to save text files, then you can learn Python from this book. If you have previous programming experience, then you can also learn Python from this book.

If you do have previous programming experience, you will be interested in the differences between Python and your favorite programming language - I have highlighted many such differences. A little warning though, Python is soon going to become your favorite programming language!

History Lesson

I first started with Python when I needed to write an installer for a software I had written called 'Diamond' so that I could make the installation easy. I had to choose between Python and Perl bindings for the Qt library. I did some research on the web and I came across an article where Eric S. Raymond, the famous and respected hacker, talked about how Python has become his favorite programming language. I also found out that the PyQt bindings were more mature compared to Perl-Qt. So, I decided that Python was the language for me.

Then, I started searching for a good book on Python. I couldn't find any! I did find some O'Reilly books but they were either too expensive or were more like a reference manual than a guide. So, I settled for the documentation that came with Python. However, it was too brief and small. It did give a good idea about Python but was not complete. I managed with it since I had previous programming experience, but it was unsuitable for newbies.

About six months after my first brush with Python, I installed the (then) latest Red Hat 9.0 Linux and I was playing around with KWord. I got excited about it and suddenly got the idea of writing some stuff on Python. I started writing a few pages but it quickly became 30 pages long. Then, I became serious about making it more useful in a book form. After a lot of rewrites, it has reached a stage where it has become a useful guide to learning the Python language. I consider this book to be my contribution and tribute to the open source community.

This book started out as my personal notes on Python and I still consider it in the same way, although I've taken a lot of effort to make it more palatable to others :)

In the true spirit of open source, I have received lots of constructive suggestions, criticisms and feedback from enthusiastic readers which has helped me improve this book a lot.

Status Of The Book

Changes since the last major revision in March 2005 is updating for the Python 3.0 release (expected in August/September 2008). Since the Python 3.0 language itself is still not finalized/released, this book is constantly undergoing changes. However, in the spirit of the open source philosophy of "Release Early, Release Often", the updated book has been released and is constantly being updated.

The book needs the help of its readers such as yourselves to point out any parts of the book which are not good, not comprehensible or are simply wrong. Please write to the main author or the respective translators with your comments and suggestions.

It's a constant tussle to balance this book between a beginner's needs and the tendency towards 'completeness' of information. It would be helpful if readers also gave feedback on how much depth this book should go into.

Official Website

The official website of the book is http://www.swaroopch.com/notes/Python where you can read the whole book online, download the latest versions of the book, buy a printed hard copy, and also send me feedback.

License

  1. This book is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.
    • This means:
      • You are free to Share i.e. to copy, distribute and transmit this book
      • You are free to Remix i.e. to adapt this book
    • Under the following conditions:
      • Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of this book).
      • Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
    • For any reuse or distribution, you must make clear to others the license terms of this book.
    • Any of the above conditions can be waived if you get permission from the copyright holder.
    • Nothing in this license impairs or restricts the author's moral rights.
  2. Attribution must be shown by linking back to http://www.swaroopch.com/notes/Python and clearly indicating that the original text can be fetched from this location.
  3. All the code/scripts provided in this book is licensed under the 3-clause BSD License unless otherwise noted.
  4. Volunteer contributions to this original book must be under this same license and the copyright must be assigned to the main author of this book.

Feedback

I have put in a lot of effort to make this book as interesting and as accurate as possible. However, if you find some material to be inconsistent or incorrect, or simply needs improvement, then please do inform me, so that I can make suitable improvements. You can reach me via my user page.

Buy the Book

If you wish to support the continued development of this book, please consider purchasing a printed copy or making a donation.

Something To Think About

There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiencies; the other is to make it so complicated that there are no obvious deficiencies.
-- C. A. R. Hoare
Success in life is a matter not so much of talent and opportunity as of concentration and perseverance.
-- C. W. Wendte