Python is more popular than ever, and is being used everywhere from back-end web servers, to
front-end game development, and everything in between. Python is a true general purpose
language and is quickly becoming a must-have tool in the arsenal of any self-respecting
programmer.
But Python isn’t popular just because it’s popular. It is easy to learn, reads like pseudo-code, and
is intensively agile. However, learning any new language can be a daunting task, and finding the
right places and people to learn from is half the battle. That’s where this guide can help. This can
be a blueprint for making Python easy, fun and rewarding to learn.
Assignment-1: Start with basics
At the time of this writing, there are two main versions of Python in circulation: Python 2.7 and
Python 3.2. Which you choose to learn really doesn’t matter too much, as the differences will be
minimal especially to a beginner. But you should know that, while Python 2 has far, far more 3rd
party support, Python 3 is the primary focus of the developers designing the language. The
choice is yours, but if your code acts differently to any given tutorial, make sure you use the
same Python version used in the tutorial.
Wikibooks’ Tutorial for Python (http://en.wikibooks.org/wiki/Python_Programming)
A Wiki book is always a great source to learn something new, and Python is no exception. Here
you will find a solid and to the point series of guides that will teach you the ropes of Python. It
doesn’t get too technical, and you can jump into coding something somewhat useful and
rewarding pretty quickly. Because of this, I recommend this site as the best place to start on your
Python journey.
Official Python book (http://docs.python.org/tutorial/)
You won’t find a better source of information than the official python.org documentation.
However, if you want to jump right in, as I’m sure many of you will, this might not be the best
place to start.
The content tends to be more technical than wiki books, which will be helpful later on as you
progress through the language. But, for a beginner, it may just get in the way of what really is a
very simple and beautiful language.
For beginners, the biggest difference between Python 2 and Python 3 will most likely be that
Python 2 can use print without parentheses. Python 3 requires parentheses, but that’s all.
Assignment 2: Tutorials and Screencasts
Official audio video python materials (http://www.python.org/doc/av/)
There is a growing body of podcasts, screen casts and video presentations for the Python
community. This page collects some of the best and provides a roadmap to the rest. The place
can point to some of the best resources of the python audio video talks such as ShowMeDo
which is an aggregation of screencasts presented by a diverse set of instructors, all hosted at
ShowMeDo. The site offers a wiki and forum, for Python source examples and follow-up with the
instructors, as well as a reviewing/rating and screencast future request system. The other source
is Best Tech videos on Net or BTV in short, is a feed aggregator of screencasts and videos from
various other sites including ShowMeDo. They cover many more topics other than Python but is
a good place to find Python instructional materials from across the web.
Google videos (http://www.youtube.com/user/GoogleTalksArchive)
Pretty much the ultimate video storage site in general, Google talks archive offer a few good
quality lectures about Python, if you search carefully. Some lectures by Guido van Rossum
himself the creator of Python programming language.
Assignment 3: Free e-books
It is hard to beat a good book when you are trying to learn something new, and with the great
community that has developed around the Python language, there is a plethora of free high
quality e-books to choose from. Below is a quick list of some of the best. You can download a
free e-book version for each of them, or you can choose to buy the physical book (or donate) if
you want to support the author, which I’m sure they would greatly appreciate.
Dive into Python (http://www.diveintopython.net/)
Dive into Python is a free Python book for beginners and as well as experienced programmers.
You can read the book online, or download it in a variety of formats. It is also available
in multiple languages.
Learn Python the hard way (http://learnpythonthehardway.org/)
Despite the name, Learn Python the Hard Way makes learning Python incredibly easy—the way
it’s meant to be! In this book, Zed A. Shaw works from the ground up giving you a detailed and
comprehensive guide to Python without getting in your way of the actual coding. Shaw is
informal but thorough, making the book an easy but rewarding read.
How to think like a computer scientist
http://www.greenteapress.com/thinkpython/thinkpython.html
You won’t find a better source of information than the official python.org documentation.
As the sub title might suggest, “How to think like a computer scientist”, Think Python stays a
little more towards the theoretical side of things. This may prove a little frustrating for a total
beginner, but the book is well worth the read in regards to algorithm theory and high level
concepts.
Invent with Python (http://inventwithpython.com/)
If ‘learning by doing’ is your thing, then building your own game will prove to be a rewarding
experience! In this book, Al Sweigart assumes no prior knowledge of Python and takes you all
the way to building your own game. Given that the book is geared towards game development,
the book may move a little quickly for a total beginner. Later on in this article, I mention a similar
book of his where he assumes a prior knowledge of Python. If you feel you are have a good
grasp of the language, and then his other book might be a better resource for you.
The Django book (https://docs.djangoproject.com/en/1.4/)
If you want to learn Python for web development, then you’re probably going to be using the
Django framework. This book assumes fluency in Python, but it teaches Django as if you are a
beginner to the framework. The Django Book is as good as they come and will be invaluable for
any budding web developer.
Python books (http://wiki.python.org/moin/PythonBooks)
If you don’t have enough to read yet, or want a book on a specific topic, then you should follow
this link. The folks over at python.org have compiled an extensive list of books, sorted by
difficulty and topic.
Assignment 4: Get familiar with StackOverflow
Thousands of developers have experienced every problem that you are bound to face.
StackOverflow is a great resource where developers find solutions to their problems. When you
happen upon an error that you’re not sure how to fix, search StackOverflow. You will more than
likely find a solution and how other people solved their problem.
But StackOverflow isn’t just full of ‘newbie’ errors and problems; there are some really clever and
helpful people that use the site – learn from them. Take a look at the Hidden features of Python
thread, for example. Many of the tips and tricks you see here may not be covered in many formal
tutorials, but they will be extremely helpful for intermediate to advanced Python users.
Assignment 5: Project Euler (http://projecteuler.net/)
Project Euler (pronounced ‘Oil-er’, to save you some embarrassment later on) is one of my
favorite websites. After making an account, you can work through nearly 400 problems on the
website. Each problem is about 50% mathematics and 50% programming and, in my opinion,
the most rewarding way to learn more of either subject.
The problems start off easy to test your knowledge of the language, but grow in difficulty to
challenge even the most seasoned programmers. Eventually, the difficulty of the problems will
force you to find the most efficient algorithm – that is if you don’t want to wait hours to
compute the answer.
Nothing will turn you into a programming wizard more quickly than pushing yourself for the
fastest and most efficient solutions to the Project Euler problems. When you crack a new
problem, you gain access to that problem’s forum thread where many people discuss their
solutions and ideas with one another. Many of the solutions in later pages of the thread will be
in Python. This is really the key to growing your programming prowess. If there is someone with
a solution that is faster than yours, take the time to analyze it to see where you could improve
your own solution. Over time, you will pick up all the tricks of the trade and grow your Python
knowledge in a meaningful and rewarding way.
Additionally, there are also some really great blogs that work through the Project Euler
problems in Python. In fact the problems can pose real challenge in learning any programming
language.
Assignment 6: Get to Know Some Common Libraries and Tools
Python is a general purpose language that can do almost anything; so, of course, there is a
seemingly endless supply of libraries and tools out there. Here are some of the most popular.
PyPy (http://pypy.org/)
PyPy is a fast, compliant alternative implementation of the Python language (2.7.2). It has
several advantages and distinct features. If you are doing some CPU intensive work, and you find
that Python is proving itself to be a bottleneck, then maybe you need PyPy. PyPy is an
alternative compiler for Python that can really speed up your processing.
Numpy + Scipy (http://numpy.scipy.org/)
NumPy is the fundamental package for scientific computing with Python. These two usually go
hand in hand (SciPy is dependent NumPy). If you are doing some serious number crunching for
mathematical or scientific research, then these two libraries will be your best friends. NumPy
and SciPy extend the mathematical functions and capabilities of Python and can greatly speed
up some of your tasks.
BeautifulSoup (http://www.crummy.com/software/BeautifulSoup/)
BeautifulSoup really is beautiful. If you need to scrape a HTML page for some information, you
will know all too well the frustration and hair loss that it can bring. BeautifulSoup will do all this
for you and add years to your life. Highly recommended and fun to play around with.
Python Image Library (http://www.pythonware.com/products/pil/)
The Python Image Library (PIL) is an extensive library that is great for anything to do with
images. If you need to manipulate an image, chances are PIL can do it for you.
Django (https://www.djangoproject.com/)
As mentioned previously in the article, the Django framework is what you will probably use if
your aim is web development. It is the most common web framework for Python and also has
the most learning resources available.
front-end game development, and everything in between. Python is a true general purpose
language and is quickly becoming a must-have tool in the arsenal of any self-respecting
programmer.
But Python isn’t popular just because it’s popular. It is easy to learn, reads like pseudo-code, and
is intensively agile. However, learning any new language can be a daunting task, and finding the
right places and people to learn from is half the battle. That’s where this guide can help. This can
be a blueprint for making Python easy, fun and rewarding to learn.
Assignment-1: Start with basics
At the time of this writing, there are two main versions of Python in circulation: Python 2.7 and
Python 3.2. Which you choose to learn really doesn’t matter too much, as the differences will be
minimal especially to a beginner. But you should know that, while Python 2 has far, far more 3rd
party support, Python 3 is the primary focus of the developers designing the language. The
choice is yours, but if your code acts differently to any given tutorial, make sure you use the
same Python version used in the tutorial.
Wikibooks’ Tutorial for Python (http://en.wikibooks.org/wiki/Python_Programming)
A Wiki book is always a great source to learn something new, and Python is no exception. Here
you will find a solid and to the point series of guides that will teach you the ropes of Python. It
doesn’t get too technical, and you can jump into coding something somewhat useful and
rewarding pretty quickly. Because of this, I recommend this site as the best place to start on your
Python journey.
Official Python book (http://docs.python.org/tutorial/)
You won’t find a better source of information than the official python.org documentation.
However, if you want to jump right in, as I’m sure many of you will, this might not be the best
place to start.
The content tends to be more technical than wiki books, which will be helpful later on as you
progress through the language. But, for a beginner, it may just get in the way of what really is a
very simple and beautiful language.
For beginners, the biggest difference between Python 2 and Python 3 will most likely be that
Python 2 can use print without parentheses. Python 3 requires parentheses, but that’s all.
Assignment 2: Tutorials and Screencasts
Official audio video python materials (http://www.python.org/doc/av/)
There is a growing body of podcasts, screen casts and video presentations for the Python
community. This page collects some of the best and provides a roadmap to the rest. The place
can point to some of the best resources of the python audio video talks such as ShowMeDo
which is an aggregation of screencasts presented by a diverse set of instructors, all hosted at
ShowMeDo. The site offers a wiki and forum, for Python source examples and follow-up with the
instructors, as well as a reviewing/rating and screencast future request system. The other source
is Best Tech videos on Net or BTV in short, is a feed aggregator of screencasts and videos from
various other sites including ShowMeDo. They cover many more topics other than Python but is
a good place to find Python instructional materials from across the web.
Google videos (http://www.youtube.com/user/GoogleTalksArchive)
Pretty much the ultimate video storage site in general, Google talks archive offer a few good
quality lectures about Python, if you search carefully. Some lectures by Guido van Rossum
himself the creator of Python programming language.
Assignment 3: Free e-books
It is hard to beat a good book when you are trying to learn something new, and with the great
community that has developed around the Python language, there is a plethora of free high
quality e-books to choose from. Below is a quick list of some of the best. You can download a
free e-book version for each of them, or you can choose to buy the physical book (or donate) if
you want to support the author, which I’m sure they would greatly appreciate.
Dive into Python (http://www.diveintopython.net/)
Dive into Python is a free Python book for beginners and as well as experienced programmers.
You can read the book online, or download it in a variety of formats. It is also available
in multiple languages.
Learn Python the hard way (http://learnpythonthehardway.org/)
Despite the name, Learn Python the Hard Way makes learning Python incredibly easy—the way
it’s meant to be! In this book, Zed A. Shaw works from the ground up giving you a detailed and
comprehensive guide to Python without getting in your way of the actual coding. Shaw is
informal but thorough, making the book an easy but rewarding read.
How to think like a computer scientist
http://www.greenteapress.com/thinkpython/thinkpython.html
You won’t find a better source of information than the official python.org documentation.
As the sub title might suggest, “How to think like a computer scientist”, Think Python stays a
little more towards the theoretical side of things. This may prove a little frustrating for a total
beginner, but the book is well worth the read in regards to algorithm theory and high level
concepts.
Invent with Python (http://inventwithpython.com/)
If ‘learning by doing’ is your thing, then building your own game will prove to be a rewarding
experience! In this book, Al Sweigart assumes no prior knowledge of Python and takes you all
the way to building your own game. Given that the book is geared towards game development,
the book may move a little quickly for a total beginner. Later on in this article, I mention a similar
book of his where he assumes a prior knowledge of Python. If you feel you are have a good
grasp of the language, and then his other book might be a better resource for you.
The Django book (https://docs.djangoproject.com/en/1.4/)
If you want to learn Python for web development, then you’re probably going to be using the
Django framework. This book assumes fluency in Python, but it teaches Django as if you are a
beginner to the framework. The Django Book is as good as they come and will be invaluable for
any budding web developer.
Python books (http://wiki.python.org/moin/PythonBooks)
If you don’t have enough to read yet, or want a book on a specific topic, then you should follow
this link. The folks over at python.org have compiled an extensive list of books, sorted by
difficulty and topic.
Assignment 4: Get familiar with StackOverflow
Thousands of developers have experienced every problem that you are bound to face.
StackOverflow is a great resource where developers find solutions to their problems. When you
happen upon an error that you’re not sure how to fix, search StackOverflow. You will more than
likely find a solution and how other people solved their problem.
But StackOverflow isn’t just full of ‘newbie’ errors and problems; there are some really clever and
helpful people that use the site – learn from them. Take a look at the Hidden features of Python
thread, for example. Many of the tips and tricks you see here may not be covered in many formal
tutorials, but they will be extremely helpful for intermediate to advanced Python users.
Assignment 5: Project Euler (http://projecteuler.net/)
Project Euler (pronounced ‘Oil-er’, to save you some embarrassment later on) is one of my
favorite websites. After making an account, you can work through nearly 400 problems on the
website. Each problem is about 50% mathematics and 50% programming and, in my opinion,
the most rewarding way to learn more of either subject.
The problems start off easy to test your knowledge of the language, but grow in difficulty to
challenge even the most seasoned programmers. Eventually, the difficulty of the problems will
force you to find the most efficient algorithm – that is if you don’t want to wait hours to
compute the answer.
Nothing will turn you into a programming wizard more quickly than pushing yourself for the
fastest and most efficient solutions to the Project Euler problems. When you crack a new
problem, you gain access to that problem’s forum thread where many people discuss their
solutions and ideas with one another. Many of the solutions in later pages of the thread will be
in Python. This is really the key to growing your programming prowess. If there is someone with
a solution that is faster than yours, take the time to analyze it to see where you could improve
your own solution. Over time, you will pick up all the tricks of the trade and grow your Python
knowledge in a meaningful and rewarding way.
Additionally, there are also some really great blogs that work through the Project Euler
problems in Python. In fact the problems can pose real challenge in learning any programming
language.
Assignment 6: Get to Know Some Common Libraries and Tools
Python is a general purpose language that can do almost anything; so, of course, there is a
seemingly endless supply of libraries and tools out there. Here are some of the most popular.
PyPy (http://pypy.org/)
PyPy is a fast, compliant alternative implementation of the Python language (2.7.2). It has
several advantages and distinct features. If you are doing some CPU intensive work, and you find
that Python is proving itself to be a bottleneck, then maybe you need PyPy. PyPy is an
alternative compiler for Python that can really speed up your processing.
Numpy + Scipy (http://numpy.scipy.org/)
NumPy is the fundamental package for scientific computing with Python. These two usually go
hand in hand (SciPy is dependent NumPy). If you are doing some serious number crunching for
mathematical or scientific research, then these two libraries will be your best friends. NumPy
and SciPy extend the mathematical functions and capabilities of Python and can greatly speed
up some of your tasks.
BeautifulSoup (http://www.crummy.com/software/BeautifulSoup/)
BeautifulSoup really is beautiful. If you need to scrape a HTML page for some information, you
will know all too well the frustration and hair loss that it can bring. BeautifulSoup will do all this
for you and add years to your life. Highly recommended and fun to play around with.
Python Image Library (http://www.pythonware.com/products/pil/)
The Python Image Library (PIL) is an extensive library that is great for anything to do with
images. If you need to manipulate an image, chances are PIL can do it for you.
Django (https://www.djangoproject.com/)
As mentioned previously in the article, the Django framework is what you will probably use if
your aim is web development. It is the most common web framework for Python and also has
the most learning resources available.
After a long time, I read a very beautiful and very important article that I enjoyed reading. I have found that this article has many important points, I sincerely thank the admin of this website for sharing it. Best tcpip model service provider