Monday, March 19, 2012

Getting Started with Python

[9/24/2015 Update] The Oreilly School of Technology, I have replaced it with Coursera's Python class produced by Rice University, which I have gone thru about 60% of it and highly recommended. I also added the links for some of the resources that I came across lately but have not gone thru them myself.
[9/27/2013 Update] Came across this link and thought it might help others as well: The Best Way to Learn Python

So how do one get started with Python? Here are some references that I came across that helped me.

1. Python Tutorial
This is an excellent overview from the official Python site. I find it comforting at times that this is kind of the 'authoritative' source of informaiton. The downside that I find is that this sometimes does not go into great depth of explaination. Also the site somewhat assumes that you have some programming background.

2. Learn Python the Hard Way (Free at http://learnpythonthehardway.org/) and online video class from UDemy.
This is a great source of learning for absolute beginners. I came across this site after using the language for some time but still find it helpful, especially the later exercises about web frameworks.

I love this concept and have gone thru the first few chapters. Besides purchasing the book, you can also read the book online for free at http://inventwithpython.com/.

[Resources that I want to go thru]

1. http://pythontutor.com/
2. Interactive Python
3. CPython internals: A ten-hour codewalk through the Python interpreter source code This is probably at a more intermediate level.

Book Reference

1. Think Python
by Allen B. Downey, copy 2012 O'Reilly Media, 144933072X.


2. Head First Programming: A Learner's Guide to Programming Using the Python Language
by Paul Barry, copyright 2010 O'Reilly Media, 978-1449382674.

3. Learning Python: Powerful Object-Oriented Programming
by Mark Lutz, copyright 2009 O'Reilly Media, 978-0596158064.

4. Programming Python
by Mark Lutz, copyright 2011 O'Reilly Media, 978-0596158101.

5. The Python Standard Library by Example (Developer's Library)
by Doug Hellmann, copyright 2011 Addison-Wesley Professional, 978-0321767349.

6. Python Essential Reference (4th Edition)
by David Beazley, copyright 2009, Addison-Wesley Professional, 978-0672329784.



4 comments:

  1. Good post. I am new to Python and am starting to pursue a career in network engineering. Right now I am working my way through Learning Python the Hard Way. After that, what would you recommend as a next step specific to the network engineer.

    ReplyDelete
    Replies
    1. Hi Alan, thanks for reading. I am no expert, but my colleague and I find it most interesting to start working on 'real projects' once we get some of the basics down. We find something that is simple but yet will help with the job. For example, in managing big datacenters, we typically have to create lines of configuration that are redundant, say, 32 BGP peers in each of the 16 routers. So that is 32 interface IPs with 32 BGP neighbor statements x 16. We use Python as a tool to automate the generation of those configuration files. This is not too hard to do as you can see from "Learning Python the Hard Way" and yet it saves our time, makes the boss happy, minimize human mistakes, everybody is happy.

      So if you keep your eyes out for projects like that while you study, I am sure you will have a few ideas when you are done.

      Also, take a look at some of the Python-related network projects, such as Arista networks EOS, Cisco's Nexus 3000 platform, AOL's Open Source Trigger platform, Software Defined Networking, etc. if you are interested. Hopefully I can find some time to write about some of them in the future.

      Delete
  2. Thanks for starting this BLOG, I would request you to share few scripts and explain us,

    Second how can we practice at home can we do via GNS3

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete