Python 3 resources, unless otherwise noted Check out [Basic concepts and features tutorial](https://docs.python.org/3/tutorial/) and [Getting Started](https://www.python.org/about/gettingstarted/) from Python official website **NOTE: Fork of https://github.com/learnbyexample/scripting_course/blob/master/Python_curated_resources.md** ### Courses - online text/pdf tutorials * [automatetheboringstuff](https://automatetheboringstuff.com/) * also visit [inventwithpython](http://inventwithpython.com/) for more stuff from this author * [diveintopython](http://www.diveintopython3.net/) - [pdf](https://github.com/downloads/diveintomark/diveintopython3/dive-into-python3.pdf) * [A Byte of Python](http://python.swaroopch.com/) - [pdf](https://www.gitbook.com/download/pdf/book/swaroopch/byte-of-python) * [Python Informatics](http://do1.dr-chuck.com/py4inf/EN-us/book.pdf) * [Python for you and me](http://pymbook.readthedocs.org/en/latest/) * [Think Python](http://greenteapress.com/wp/think-python-2e/) * [python-course](http://python-course.eu/python3_history_and_philosophy.php) * [Non-Programmer's Tutorial for Python 3](https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3) - [pdf](https://upload.wikimedia.org/wikipedia/commons/1/1d/Non-Programmer%27s_Tutorial_for_Python_3.pdf) #### Quick Guides * [tutorialspoint](http://www.tutorialspoint.com/python/python_quick_guide.htm) * [realpython](https://realpython.com/learn/python-first-steps/) ### Courses - online video/interactive tutorials * [udemy - automatetheboringstuff](https://www.udemy.com/automate/?couponCode=HALF_OFF) * [first 15 videos on youtube](https://www.youtube.com/watch?v=7qHMXu99d88&list=PL0-84-yl1fUnRuXGFe_F7qSH1LEnn9LkW) * [coursera - getting started with Python](https://www.coursera.org/learn/python) * [edx - intro to computer science as a tool to solve real-world analytical problems](https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6) * [pythonprogramming](https://pythonprogramming.net/introduction-to-python-programming/) * [learn Python through challenging problems](https://snakify.org/) * [youtube - Python programming](https://www.youtube.com/playlist?list=PL6lxxT7IdTxFKo9DguLxGM2dhgb8-u976) * [Google - Python 2](https://developers.google.com/edu/python/) * [youtube - learn Python 2 and make games](https://www.youtube.com/playlist?list=PLeLU1pCom3Oo4w7XE3wlrdWv6v7lA0hwb) * [Real Python](https://realpython.com/) - focus on web development * [newcoder - project based](http://newcoder.io/tutorials/) ### Books * [effectivepython](http://www.effectivepython.com/) * [Fluent Python](http://shop.oreilly.com/product/0636920032519.do) * [Python Cookbook](http://shop.oreilly.com/product/0636920027072.do) * [Python for Kids](https://www.nostarch.com/pythonforkids) * book lists * [pythoncommunity - best Python books](http://pythoncommunity.com/2015-12-best-python-books) * [free programming books - Python](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#python) * [importpython](http://importpython.com/books/) - has buy/free list sections ### Docs and Cheat-Sheets * [Python 3.5](https://docs.python.org/3.5/index.html) * [Python 2.7](https://docs.python.org/2.7/) * [Cheat Sheet by Derek](http://www.newthinktank.com/2014/11/python-programming/) - has an accompanying [video](https://www.youtube.com/watch?v=N4mEzFDjqtA) as well * [learnxinyminutes - Python3](https://learnxinyminutes.com/docs/python3/) * [Python Crash Course - cheatsheet](https://ehmatthes.github.io/pcc/cheatsheets/README.html) ### Tips and Tricks * [40 handy tricks](http://sahandsaba.com/thirty-python-language-features-and-tricks-you-may-not-know.html) * [useful snippets](http://fadymak.com/pages/useful_python_snippets.html) * [avoiding common gotchas](http://docs.python-guide.org/en/latest/writing/gotchas/) * [Transforming Code into Beautiful, Idiomatic Python](https://gist.github.com/JeffPaine/6213790) which is based on this [video](https://www.youtube.com/watch?feature=player_embedded&v=OSGv2VnC0go) * [Python tips and features on Stackoverflow](http://stackoverflow.com/questions/101268/hidden-features-of-python) * [pythontips book](http://book.pythontips.com/en/latest/index.html) * One-liners: [#1](http://www.vurt.ru/2013/02/python-command-line-oneliners/), [#2](https://wiki.python.org/moin/Powerful%20Python%20One-Liners), [#3](http://python-oneliner.readthedocs.org/en/latest/) ### In-depth analysis/tutorial of single concept * Collections * [offical doc](https://docs.python.org/3/library/collections.html) * Decorators * [what is decorator?](https://pythonconquerstheuniverse.wordpress.com/2012/04/29/python-decorators/) * [intro to decorators](http://python-3-patterns-idioms-test.readthedocs.org/en/latest/PythonDecorators.html) * [decorator library](https://wiki.python.org/moin/PythonDecoratorLibrary) * [decorator - stackoverflow](http://stackoverflow.com/questions/739654/how-can-i-make-a-chain-of-function-decorators-in-python/1594484#1594484) * list * [slice notations and assignments](http://stackoverflow.com/questions/509211/explain-pythons-slice-notation) * [list comprehensions](http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/) * [Comprehensions in Python the Jedi way](https://gist.github.com/bearfrieze/a746c6f12d8bada03589) * [how to copy 1-D and multi-D lists](http://stackoverflow.com/questions/2612802/how-to-clone-or-copy-a-list-in-python) * [lambda](https://pythonconquerstheuniverse.wordpress.com/2011/08/29/lambda_tutorial/) - what it is and when to use * OOP * [why is it useful](http://inventwithpython.com/blog/2014/12/02/why-is-object-oriented-programming-useful-with-an-role-playing-game-example/) * [magic methods](http://www.rafekettler.com/magicmethods.html) * [intro to classes and inheritance](http://www.jesshamrick.com/2011/05/18/an-introduction-to-classes-and-inheritance-in-python/) * [class attributes](https://www.toptal.com/python/python-class-attributes-an-overly-thorough-guide) * [official doc on classes](https://docs.python.org/3.5/tutorial/classes.html) * [Python Virtual Environments](https://realpython.com/blog/python/python-virtual-environments-a-primer/) * Regular Expressions: * [official doc of re module](https://docs.python.org/3.5/library/re.html) * [regexone - interactive tutorial](http://regexone.com/), also has a [quick reference](http://regexone.com/references/python) * [regular expressions tutorial](http://ryanstutorials.net/regular-expressions-tutorial/) * [shortcutfoo](https://www.shortcutfoo.com/app/dojos/python-regex/cheatsheet) - you can also learn it [interactively](https://www.shortcutfoo.com/app/dojos/python-regex) * [Python regex tutorial - from Google course](https://developers.google.com/edu/python/regular-expressions) * stackoverflow - [comprehensive list of regex FAQ](http://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean) and [regex overview](http://stackoverflow.com/tags/regex/info) * [string formatting](https://pyformat.info/#simple) * [working with binary data](http://www.devdungeon.com/content/working-binary-data-python) * [Python Q&A on stackoverflow](http://stackoverflow.com/questions/tagged/python?sort=votes&pageSize=15) * [pyinstaller](https://github.com/pyinstaller/pyinstaller) * [Python packaging guide](https://python-packaging-user-guide.readthedocs.org/en/latest/) * [profiling Python code for performance](http://tutorials.pluralsight.com/python/quick-profiling-in-python) ### Handy tools * [Visualize code execution](http://www.pythontutor.com/visualize.html#mode=edit) - also has example codes and ability to share sessions * [regex tester](https://regex101.com/#python) - explainations on separate windows, includes quick references, ability to save and share ### Further Reading * Data Science * [Intro to Python using Data Analysis](http://swcarpentry.github.io/python-novice-inflammation/) - uses **Jupyter notebook** * [Intro to Data Science with Python](http://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/) * [data science ipython notebooks](https://github.com/donnemartin/data-science-ipython-notebooks) * [Python-xy](https://python-xy.github.io/) * [datacamp - course](https://www.datacamp.com/courses/intro-to-python-for-data-science) * GUI, Game and Web * [gui development tutorials](https://pythonprogramming.net/gui-development-tutorials/) * [kivy crash course](http://inclem.net/pages/kivy-crash-course/) * [remi module](https://github.com/dddomodossola/remi) - create platform independent GUI with Python (by converting to HTML) * [Bokeh - Python interactive visualization library](https://github.com/bokeh/bokeh) * [django](https://docs.djangoproject.com/en/1.9/intro/tutorial01/) and [flask](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) * static website generators [pelican](http://docs.getpelican.com/en/3.6.3/) and [Cactus](https://github.com/koenbok/Cactus/) * [anvil](https://anvil.works/blog/introducing-anvil) - drag & drop web-app builder * [web scraping](http://newcoder.io/scrape/) * TDD * [Test-Driven Development with Python](http://chimera.labs.oreilly.com/books/1234000000754/index.html) - focussed on Django and web-development * [learn Python via TDD](https://github.com/gregmalcolm/python_koans) * [defensive programming](http://tutorials.pluralsight.com/python/defensive-programming-in-python) * [pycontracts](https://andreacensi.github.io/contracts/) * [is unit testing worth the effort](http://stackoverflow.com/questions/67299/is-unit-testing-worth-the-effort/67500#67500) * Style guide * [PEP 0008](https://www.python.org/dev/peps/pep-0008/) * [Google - pyguide](https://google.github.io/styleguide/pyguide.html) * [elements of python style](https://github.com/amontalenti/elements-of-python-style) * [The Hitchhiker’s Guide to Python!](http://docs.python-guide.org/en/latest/) * [Problem solving with Algorithms and Data Structures](http://interactivepython.org/runestone/static/pythonds/index.html) * [realpython - blog](https://realpython.com/blog/) * [Create beautiful command-line interfaces with Python](https://www.youtube.com/watch?v=pXhcPJK5cMc) * [collection of design patterns and idioms](https://github.com/faif/python-patterns) * [curated videos on Python](https://github.com/s16h/py-must-watch) * github - [trending Python projects](https://github.com/trending?l=python&since=monthly) and [top devs and repos to follow](https://github.com/StijnMiroslav/top-starred-devs-and-repos-to-follow) * [A gallery of interesting IPython Notebooks](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks) ### Other Python resource lists * [wiki from /r/learnpython](https://www.reddit.com/r/learnpython/wiki/index) * [github - awesome-python](https://github.com/vinta/awesome-python) * [github - pycrumbs](https://github.com/kirang89/pycrumbs/blob/master/pycrumbs.md) * [github - pythonidae](https://github.com/svaksha/pythonidae) * [stackoverflow](http://stackoverflow.com/tags/python/info) * [zeef - alan richmond](https://python.zeef.com/alan.richmond) * [zeef - luis solis](https://python.zeef.com/luis.solis) * [messybytes](https://messybytes.wordpress.com/2015/09/02/resources-for-python/) ### Practice/Coding Challenge * [codewars](http://www.codewars.com/) * [adventofcode](http://adventofcode.com/) * [projecteuler](https://projecteuler.net/) * [hackerrank](https://www.hackerrank.com/) * [/r/dailyprogrammer](https://www.reddit.com/r/dailyprogrammer) * [codeeval](https://www.codeeval.com/) * Gamification * [checkio](http://www.checkio.org/) * [empireofcode](https://empireofcode.com/) * [codecombat](http://codecombat.com/play/level/dungeons-of-kithgard) ### Coding Problems/Projects with solution * [projects on github](https://github.com/karan/Projects-Solutions) * [rosettacode](http://rosettacode.org/wiki/Category:Python) * [Python scripts](https://www.quora.com/What-are-the-best-Python-scripts-youve-ever-written) * [projects with explanation by Peter Norvig](http://norvig.com/ipython/README.html) ### Development Environment * [pycharm](https://www.jetbrains.com/pycharm/) * Vim - [customizing .vimrc for Python](https://realpython.com/blog/python/vim-and-python-a-match-made-in-heaven/) and [python-mode](https://github.com/klen/python-mode) * [Jupyter](https://jupyter.org/) - web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text ### Forums * [/r/learnpython](http://www.reddit.com/r/learnpython) - very friendly for newbies * [python-forum]( http://www.python-forum.org/) * [/r/Python/](https://www.reddit.com/r/Python/) - general Python discussion * [stackoverflow](http://stackoverflow.com/tags/python)