My Favorite Resources
Websites for Learning Python
- Official Python Tutorial
- Codecademy
- Automate the Boring Stuff
- python-course.eu
- Learn python3 in Y Minutes
- Udacity
- Coursera
- edX
- Dataquest
- DataCamp
Free, Downloadable Python Books
- Green Tea Press (Think Python)
- Dive Into Python
- Python for Everybody
- A Whirlwind Tour of Python
- Books Recommended by r/learnpython
- pythonbooks.org
Programming Challenges
- HackerRank
- codewars
- CodinGame
- Project Euler
- Python Challenge
- Practice Python
- PyBites Code Challenges
- pytudes by Peter Norvig
Ideas for Programming Projects
- karan’s Mega Project List
- Martyr2’s Mega Project Ideas List
- 49 Ideas for Game Clones to Code
- 7 Ideas for Coding Projects
- 5 Mini Programming Projects
- Quora: Interesting Python Projects
General Python Resources
- repl.it (browser coding environment)
- Python Tutor (visualize your code)
- r/learnpython – Reddit
- Python Documentation
- Python Style Guide – PEP 8
- Python Docstring Conventions – PEP 257
- Google Python Style Guide
- The Hitchhiker’s Guide to Python (beginner’s intro here)
- Python 3 Module of the Week
Recommended Packages for Automation
- Webscraping
- requests (basic)
- beautiful soup
- lxml (similar to beautiful soup, supports xpath)
- scrapy (extremely fast)
- selenium (simulates browser, renders javascript)
- scrapy-splash (extremely fast and renders javascript)
- Working with Files
- textract (general text extraction)
- python-docx (Word)
- python-pptx (PowerPoint)
- pandas, openpyxl, xlsxwriter, xlrd, xlwt, xlutils, pyexcel (Excel)
- PyPDF2, pdfrw, reportlab, pdfminer3k, pdfquery, sejda (PDF)
- smtplib and email (standard packages)
- Mouse and Keyboard
- Data Processing
- Statistics, Machine Learning
- Graphical User Interfaces (GUI’s)
- Creating Executables