A Quick History

Back in the day...

  • First conceptualized in 1989
    • Started as a hobby project
    • Named for Monty Python
  • First release in 1991
  • Python 2.0 in 2000
  • Python 3.0 in 2008

GvR

  • Python was designed by Guido van Rossum
    • Still majorly involved in the project
    • Used to work for Google, now works for Dropbox
    • Named by the Python community as "benevolent dictator for life".

1991 was a long time ago...

Sort of.

It can take a while for languages to really solidify. Sometimes in early stages, the syntax can change dramatically in a short period of time (e.g., a month).

Python Development

What's a PEP?

PEPs (Python Enhancement Proposals) define new features for Python, as well as important information relevant to Python. PEPs are managed by PEP editors, and final design decisions are made by Guido van Rossum.

Some important PEPs:

  • PEP 8 -- Style Guide for Python Code
  • PEP 20 -- The Zen of Python

PEP 20

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

...

Readability counts.

...

PEP 8

PEP 8 defines good Python style.

I expect you to follow it.

Luckily, there is a program that can check a python source file to determine if it adheres to PEP 8's standards. It is called pep8.

In this class, I'll be using a program called flake8.

flake8 combines pep8 with a Python linter called pyflakes.

Python in the Real World

Why do people like it?

  • Easy to read
  • Easy to write
  • Rapid Prototyping

What it's used for

  • General purpose programming
  • Web applications
  • Data mining

Python in CPL

Things to Know

  • We're going to use Python 3.5
    • That's what's on the lab machines
    • Make sure you're reading the right documentation
  • Your assignment code must adhere to PEP 8
    • Good style is important