Trang chủ‎ > ‎IT‎ > ‎Programming‎ > ‎


New to programming

If you're learning your first programming language these books were written with you in mind. Developers learning Python as a second or later language should skip down to the next section for "experienced developers".

  • Automate the Boring Stuff with Python is an incredible book for both non-developers and professional developers alike. Each chapter walks through a situation that can be automated using Python such as manipulating images, organizing your files and programmatically controlling your mouse and keyboard to handle any sort of tasks.

  • CS for All is an open book by professors at Harvey Mudd College which teaches the fundamentals of computer science using Python. It's an accessible read and perfect for programming beginners.

  • If you've never programmed before check out the Getting Started page on Learn To Code with Me by Laurence Bradford. She's done an incredible job of breaking down the steps beginners should take when they're uncertain about where to begin.

  • This short 5 minute video explains why it's better to think of projects you'd like to build and problems you want to solve with programming. Start working on those projects and problems rather than jumping into a specific language that's recommended to you by a friend.

  • A Python Crash Course gives an awesome overview of the history of Python, what drives the programming community and dives into example code. You will likely need to read this in combination with other resources to really let the syntax sink in, but it's a great article to read several times over as you continue to learn.

  • The Python projects tag on the Twilio blog is constantly updated with fun tutorials you can build to learn Python, such as the International Space Station Tracker with Flask and Redis-QueueChoose Your Own Adventures Presentations using Flask and WebSockets and Martianify Photos with OpenCV.

  • A Byte of Python is a beginner's tutorial for the Python language.

  • Introduction to Programming with Python goes over the basic syntax and control structures in Python. The free book has numerous code examples to go along with each topic.

  • Google put together a great compilation of materials and subjects you should read and learn from if you want to be a professional programmer. Those resources are useful not only for Python beginners but any developer who wants to have a strong professional career in software.

  • The O'Reilly book Think Python: How to Think Like a Computer Scientist is available in HTML form for free on the web.

  • Python Practice Book is a book of Python exercises to help you learn the basic language syntax.

  • Looking for ideas about what projects to use to learn to code? Check out this list of 5 programming projects for Python beginners.

  • There's a Udacity course by one of the creators of Reddit that shows how to use Python to build a blog. It's a great introduction to web development concepts through coding.

  • I wrote a quick blog post on learning Python that non-technical folks trying to learn to program may find useful.

  • Python for you and me is an approachable book with sections for Python syntax and the major language constructs. The book also contains a short guide at the end to get programmers to write their first Flask web application.

Python for specific occupations

Python is powerful for many professions. If you're seeking to use Python in a specific field, one of these guides may be the most appropriate for you.

  • Python for Social Scientists contains a textbook, course outline and slides for a college course that taught social scientists to use Python for their profession.

  • Practical Business Python is a blog that covers topics such as how to automate generating large Excel spreadsheets or perform analysis when your data is locked in Microsoft Office files.

  • Python for the Humanities is a textbook and course on the basics of Python and text processing. Note if you've never worked with Python before the material ramps up quickly after the first chapter so you will likely want to combine it with some other introduction to Python resources.

  • Practical Python for Astronomers provides open source workshop materials for teaching students studying astronomy to use Python for data analysis.

Experienced developers new to Python

If you can already program in another language, these resources are better for getting up to speed because they are more concise when explaining introductory topics.

  • Learn Python in y minutes provides a whirlwind tour of the Python language. The guide is especially useful if you're coming in with previous software development experience and want to quickly grasp how the language is structured.

  • Microservices with Docker, Flask, and React is a great tutorial for digging in deeper with common Python tools such as FlaskDockerReact and microservices.

  • Developers familiar with other languages often have difficulty adapting to accepted Python code style. Make sure to read the PEP8 code style guidelines as well as The Elements of Python Style to know the Python community standards.

  • Essential Reads for Any Python Programmer is a great collection of advice for developers coming to Python from another programming language ecosystem such as Java.

  • How to Develop Quality Python Code is a good read to begin learning about development environments, application dependencies and project structure.

  • The Python module of the week chapters are a good way to get up to speed with the standard library. Doug Hellmann is also now updating the list for changes brought about from the upgrade to Python 3 from 2.x.

  • Kenneth Reitz's The Hitchhiker’s Guide to Python contains a wealth of information both on the Python programming language and the community.

  • Composing Programs shows how to build compilers with Python 3, which is a good undertaking if you're looking to learn both more about the Python language and how compiles work.

  • free-for-dev is not specific to Python but it's a fantastic list of free tier resources for experienced developers. The list is especially handy if you want to try building a Python project and need new third party services to kick around while experimenting.

Videos, screencasts and presentations

Videos from conferences and meetups along with screencasts are listed on the best Python videos page.

Curated Python packages lists

  • awesome-python is an incredible list of Python frameworks, libraries and software. I wish I had this page when I was just getting started.

  • easy-python is like awesome-python although instead of just a Git repository this site is in the Read the Docs format.

  • Hacker News Tools of the Trade is not specific to Python but almost all of the tools and services are useful to building software projects.


Take a look at the best Python podcasts section for a curated list of both Python-specific and general software development podcasts.


Python's active community constantly publishes new tutorials and walkthroughs. It is easier to keep up if you follow along by subscribing to several email newsletters that round up and curate the best new resources. I subscribe to all of the following newsletters and find that each one has its own unique take on what resources are most important to send out to the community.

  • Python Weekly is a free weekly roundup of the latest Python articles, videos, projects and upcoming events.

  • The Full Stack Python monthly newsletter is a monthly newsletter that focuses on a single topic each month. For example, one month will aggregate great Flask resources, while another month will provide WSGI server configurations.

  • The Python Tricks newsletter contains code snippets and stories every few days to teach you new ways to code Python.

  • Awesome Python Newsletter provides another solid selection of new and existing tutorials along with an extensive issues archive with previous links to resources.

  • Import Python is a newer newsletter than Python Weekly and PyCoder's Weekly. So far I've found this newsletter often pulls from different sources than the other two. It's well worth subscribing to all three so you don't miss anything.

  • PyCoder's Weekly is another great free weekly email newsletter similar to Python Weekly. The best resources are generally covered in both newsletters but they often cover different articles and projects from around the web.

1. Code Academy – Interactive, Beginners

There are many interactive tutorials available for Python that let you write code in the browser and see the results live, right there. That is what makes learning fun! Code Academy hosts the best interactive Python tutorials for beginners.

As of today, there are 2.5m students enrolled for this course. The course length is 13 hours, approximately.

It covers Python syntax, strings and console output, conditional and control flow, functions, lists and dictionaries, loops, file input and output and also talks about advanced python options. You get to build small projects as you learn, step by step instructions make coding these projects easy, right there in the browser.

Couple of the example projects that you build while learning Python on Code Academy are – “Tip calculator” and a small board game named “Battleship”.

2. – Beginners, Online

Want to learn Python from Scratch? Tutorials for Java Concurrency, Spring AOP, Gerrit, Spring MVC, Apache Solr, Excel Power View, Sencha Touch, Tex Commands, Agile Testing, Apache Tajo, C++ Library, MariaDB, SAP QM, SAP SOLMAN, SAP SCM, MS Access, KoaJS, OAuth2.0, Scrapy, SAP CCA, SAP PM, SAPUI5, Cognos, Internet of Things, Rural Marketing, Trampolining, Golf, CakePHP, SAP EWM, Web Dynpro, Angular2, Framework7, Arduino, CherryPy, Firebase,SAP C4C, SAP Dashboard, SAP PI, ExpressJS, Design Thinking, Internet Security, PyGTK, Apache Drill, Excel Charts, Elastic Search, Computer Security, Extreme Programming, Behavior Driven Development, Conversion Rate Optimization, SAP Basis, Business Law, Kanban, Erlang, SAP Payroll, ASP.Net WP, PouchDB, MFC, SAP HR, Yii, Clojure, Aurelia, CoffeeScript, CPanel, Laravel, SAP Webi, MS SQL Server, pinterest, Indian Polity, Teradata, Windows10 hosts one of the most comprehensive tutorials for learning Python basics and fundamental concepts. Anyone who is totally new to programming can also start learning with Tutorials Point’s Python tutorials. It starts by giving high level overview of Python, talks about environment setup, basic syntax, and variable types, operators, decision making, loops etc. and the depths of the language.

Tutorials Point also talks about advanced concepts like CGI programming, database access, multithreading, XML processing, GUI programming and Networking etc.

3. – Advanced, For Experts, Online

Codementor is a perfect place to find advanced tutorials if you are an expert developer. This is not about step by step Python learning guide but comes with tutorials to complete specific development tasks using Python. This website keeps on adding new tutorials on regular basis and you can keep yourself updated with latest tutorials by signing up to their newsletter.

Given below are few examples of the kinds of Python tutorial you will find on Codementor – Hire Expert Developers for On-Demand Mentorship & Freelance Projects –

  • - Building a movie recommendation service using Apache spark and Flask – In Python
  • - Sorting Git Authors in less than 10 lines of code, of course, using Python script
  • - Data Science with Python & R: Sentiment Classification Using Linear Methods
  • - Integrating Node.js & Python to Write Cross-Language Modules using pyExecJs
  • - Advanced Uses of Python Decorators

4. – Advanced, Interactive

Love challenges and also want to learn the depths of Python programming language, there is no better resource on the internet than The Python Challenge. This one of course is not for the absolute beginners and also not for the kinds who just take notes in the classrooms for overnight cramming/reading without bothering their brains much.

Visit this website, if you want to keep your creative juices flowing. There are 33 levels at the moment and the very first one itself has the potential to get you engaged and addicted to the website.

5. Google’s Python Class – Free eBook, Intermediate

Tutorials from Google developer on Python are well written and cleanly organized. It is all about theory though, without any practical step by step instructions to build projects. Python tutorials from Google developers are Best suited when you want to read through while on the go and/or for those who already have some basic programming background.

This entire Python tutorial set is organized in three sections –

Python Course – This section talks about Python setup, basics of Python like strings, lists, sorting, regular expressions, utilities etc. and feeds you with the fundamentals of the language.

Lecture videos day1, day2 – Not the reading kinds, no problem, you can go through the video lectures divided into day1 and day2 and grasp the fundamentals of the python language.

Python Exercises – This is what makes python learning interesting. There are basic exercises, an exercise around baby names, and one for “copy special” feature and one on the log puzzle. You need to get your head around to understand and get these exercises done.

You can download the Python code used in the exercises and run locally on your machine. You can also ask questions to clarify your doubts in google groups.

6. – Online, Beginners Python Tutorial

This is the official Python guide and is best suited for those who need a comprehensive tour of the Python language. Official python documentation is a complete reference to the language and always updated with the latest features and release notes.

It is always good to skim through the official guide at least once to ensure that you are not missing on anything basic. The official Python guide covers what is new in Python, Python installation guides, library references, python how-tos, embedding, extending and distributing Python modules.

7. Learn Python the Hard Way – eBook, Beginners

Learn python the hard way is one of the sure shot ways to get on-boarded to Python programming. As per the official website, 1.5 million people read this eBook every year and the book is the most successful beginner programming eBook in the market as of today.

The paper and digital versions of the book come at a cost but you can read the online version of complete book, for free. Arguably the best Python tutorial out there in the wild.

8. – Interactive Python Programming, Intermediate

This website offers interactive python tutorials to master the syntax of python programming language. The current interpreter runs Python 2 but the tutorial highlights key differences between Python 2 and Python 3 programming.

The tutorial starts off with Hello world, explains variables and types, lists, basic operators, string formatting, basic string operations, loops, functions, classes and objects, dictionaries, modules and packages. You also get exercises at the end of each chapter to get your head working around with the depths of Python web programming.

9. Invent with Python – Free Book, Online

My colleague has been teaching students earlier, learning programming by building games is what keeps students engaged for hours. Invent with Python does the same, each chapter has step by step instructions to build a small game.

As you keep learning, the complexity of games keeps on increasing and learning becomes more fun. The online version of the book is free but you can also download the pdf version of the book at a nominal price.

10. Dive into Python 3 – Beginners, Online

This is one of the good reads for beginners as well as for those who already know Python 2 and want to move to Python 3. Author clearly highlights differences between Python2 and Python 3, wherever applicable, and ensures that readers grasp the concepts by citing relevant examples.

11. Python Crash Course - Intermediate, Online

If you are already a programmer and want to quickly get on-boarded with Python, this is the right place for you. This course is meant for intermediate level programmers and assumes that you already understand object oriented programming.

The target of the course is not to go into depths of programming but to highlight what python brings on the table and how you can code in python if you already know programming.

12. Learning Python Magic Methods – Advanced

This is collection of tutorials/blogs by Refekettler and is intended for advanced level python programmers. Magic methods have anything and everything to do with object oriented programming, but it looks like the official documentation is not good enough. Refekkettler has tried to explain ins and outs of magic methods using good examples. A must read for anyone looking to master the magic methods of Python.

13. – Online, Beginners

Here is another well written tutorial for beginners with code simulator to test the code in the browser. In this tutorial, you not only get to learn fundamentals of python but also learn how you build interactive web applications.

Towards the end, this tutorial hosts Python quiz to test your knowledge. Quiz is pretty useful to check where you stand in terms of Python basics.

14. Python Basic Tutorials – Beginners, Video

Want to learn like they learn in the classroom, video tutorials is the way to go. This one is series of Python video tutorials by theNewBoston. You get end to end coverage of Python by following these video tutorials.

15. Python Fundamentals Training – Beginners, Video

This is more like the previous one but goes a little beyond the basics of coding in Python. It is a full four days training course to let you understand Python fundamentals, watching videos. These Python fundamental training videos are brought to you by Corporate Training, Consulting & Software.

16. A Byte of Python - Free Online, PDF

A byte of Python is for absolute novice in the world of computers and programming. It is written by Swaroop and is loved by beginners all over the globe. The language used is simple and the contents are organized neatly. You can read the book online or download the python tutorial pdf copy.

17. Coursera Python Course

Coursera hosts online classes from the top notch universities. It includes Python courses as well provided by Rice University. As of today, there are two part course available spread across many weeks. You can check the schedule and register for the online classes, these are free of cost.

If, however, you need Python certificate after completing the courses, you need to pay some nominal charge for that.

18. Think Python - Free Online, Python Tutorial PDF

This one is another beginner’s book and the author has made online version as well as the pdf version freely available. You can buy the paper copy from Amazon as well. Author’s main intent in this book is to teach computer science fundamentals and Python happens to be the programming language used to do so.

A good read for all the students enrolling for computer science disciplines.

19. Learning Django – Beginners, Video

It is not possible that we talk about Python without uttering a word about Django. Django framework has contributed big time in the recent fame of Python programming language.

If you want to learn Django, there is no better video tutorial available than Getting Started with Django. It has multiple videos covering multiple aspects and best practices of the framework.

20. Python Playgrounds - Coding in Python, Online

Tutorials based on interactive coding playgrounds let you try and learn the language without the hassles of setting up your system for development.

You may not grasp the depths of the language but definitely get to understand the basic concepts. Here are the Python playgrounds to make your learning fun -