- Created by Guido Von Rossum in 1991
- Currently on version 3+ but many people still use 2.7+
- Influenced by:
- C, C++, Dylan, Haskell, Java, Icon, Lisp, Perl, ABC, ALGOL, Modula-3
About the origin of Python, Van Rossum wrote in 1996:
Over six years ago, in December 1989, I was looking for a "hobby" programming
project that would keep me occupied during the week around Christmas.
My office ... would be closed, but I had a home computer, and not much else on
my hands. I decided to write an interpreter for the new scripting language I had
been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers.
I chose Python as a working title for the project, being in a slightly irreverent
mood (and a big fan of Monty Python's Flying Circus).
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
run import this
to see on your local computer
Automate the Boring Stuff Learn python through small practical projects that might reduce the tedium in your job! (Highly recommended)
How to Think Like a Computer Scientist An equally good book and allows you to use python right in your browser.
Official Python Tutorial Why not learn it the official way? This is a very indepth tutorial that will get you up and running!
Hacking Secret Ciphers with Python If you're interested in cryptography, this is a highly recommended way to go.
Flask Micro Blog Official Tutorial Feel comfortable with python and want to make a simple blog? Try flask. (Intermediate python required)
Django Official Tutorial Dive into an opinionated web framework that has already made many decisions for you. Try django. (Intermediate python required)
Learn Python the Hardway A classic that many have used, but also a little snarky (if you like that). It's teaches legacy python 2.x, so be warned.
Learn Python This website is intended for everyone who wishes to learn the Python programming language.
Codecademy's Python course Good beginner material, including tons of in-browser exercises.
Google's Python Class More advanced but fantastic, it includes hours of useful lecture videos and downloadable exercises (with solutions).
A Crash Course in Python for Scientists Read through the Overview section for a quick introduction to Python.
DataQuest Similar interface to Codecademy, but focused on teaching Python in the context of data science.
- Large Collection of Libraries
- Simple and Clean Syntax
- Interpreted aka. No Compiling
- Easy to Learn
- Great Support / Community
- Built-in Functionality
- Web development (Django, Flask)
- Data Science (Sci-kitlearn, Scipy, Pandas)
- Natural Language Processing (NLTK, TextBlob)
- Image Processing (Pillow)
Check out https://github.com/vinta/awesome-python
PIP pip is a package management system used to install and manage software packages written in Python. Many packages can be found in the Python Package Index (PyPI)
- https://www.reddit.com/r/Python/
- Github
- [Pycon & Other videos] (https://github.com/s16h/py-must-watch)
DC Python http://www.meetup.com/DCPython/
Django-District http://www.meetup.com/django-district/
NOVA-Python http://www.meetup.com/NOVA-Python/
DC-PyLadies http://www.meetup.com/dc-pyladies/
DjangoGirls https://djangogirls.org/washington/