About this project
Python is a great programming language. It's free, powerful, easier to read than most languages, and has extensions available to do almost anything you could imagine automatically.
But how do you actually use it? There are tons of resources out there for learning Python, but none of them are very practical or interesting - instead, they go over each concept one by one, never tying anything together, but spending plenty of time lost in technical language, discussing the twenty different ways to accomplish each basic task...
I want to write an e-book that finally gives a concise introduction to everything you might actually want to do with Python.
We'll start with a quick but thorough overview of all the basics, so you don't even need any prior experience with programming. But the majority of the book will be spent building up example code to solve interesting real-world problems.
Python is fantastic for automating repetitive tasks that might otherwise take you hours - for instance, quickly gathering data from the web, or renaming hundreds of files. Some of the topics that I'm planning to cover:
- Collecting data from webpages (web scraping)
- Interacting with PDF files - reading data, creating PDFs, modifying pages, adding passwords...
- Interacting with Excel files (less functionality in OS X)
- Calling other outside programs from within Python
- Files - read/write/modify, unzip, rename, move, etc.
- Basic game development
- Interacting with SQL databases (internal and ODBC connections)
- GUI (Graphical User Interface) design - creating simple point-and-click programs that anyone can use
- Any other topics that you, my backers, are most interested in!
- Update: by popular demand, I'll be adding web application development
Be sure to take the two-question survey at PythonByExample.com to let me know what topics you want to learn most, so that I can really focus on the most relevant information as I continue to build up the course.
This is more than just an e-book; this is a full course that will include sample exercises and answer scripts to make sure that you can implement the concepts in practical ways on your own. I'll even include test files for practice - webpages for data scraping, PDFs to read and modify, etc... And anyone who gets the e-book via this Kickstarter will get free updates for life if I make any changes or additions to the course.
It's time to learn real programming!
The course will be accessible to all experience levels. If you already have some knowledge of Python or similar languages, you can probably breeze through the first couple chapters and quickly get to the real meat - but if you have no idea what you're doing yet, don't worry! We'll walk through everything from the beginning.
I'm writing for Python 2.7 since this is what most of the rest of the world uses. However, the differences are very minimal! Once you've mastered 2.7, it will take you all of 15 minutes to readjust to Python 3 (if you ever need to). There are a lot of popular extensions out there that aren't available for Python 3, and Python 3 isn't back-compatible with prior versions, nor does it really offer any added functionality, which is why it never caught on.
For those of you who care about performance, Python 3 is also significantly slower.
If it's a topic that would appeal to most of you and isn't overly complex to introduce, I'll do my best. However, I still want to create a concise introduction that's easy to follow, not a tome full of tidbits that are impossible to digest, so not everything will make the cut. I've already gotten hundreds of specific requests, which is great - keep sending them! It helps me to gauge overall preferences and interest in different areas, and it never hurts to ask... Some new topics have been added already!
In addition to the PDF book, I'm planning to make EPUB and MOBI versions available for those who really want them. However, I highly recommend using the PDF copy - the formatting will be clearer, any external links will be easier to access, and this is a hands-on course that you'll get the most out of while working at a "real" computer!
The e-book and sample code will both be creative commons licensed (separately, so that the code may be modified and used commercially).
Support this project
- (20 days)