Python

The purpose of this page is to serve as a reference for the Python-curious user, to provide code to those interested, and to shameless reference our Python GitHub repository.  This page contains a basic description of the general and technical aspects of the Python programming language, all the links an interested beginner would need, and a selection of more advanced Python snippets:

 

Python 101

We recognize that the Python resources available online are much better than what we can provide, therefore, we will simply outline the general and technical aspects of the  Python programming language and then provide links to, what we consider are the better python resources.  The facts of Python:

Uses: Everything
Website: python.org
Get Started: Beginner’s Guide.
Download: python.org/downloads
Documents: docs.python.org
Creator: Guido van Rossum
First Released: 1991
Implementation: Mostly Interpreted with some Compiled
Type Safety: Strong
Type System: Implicit (and optionally Explicit in and after 3.5)
Type Checking: Dynamic
Imperative: Yes
Aspect Oriented: Yes
Object Oriented: Yes
Functional: Yes
Procedural: Yes
Generic: Yes
Reflective: Yes
Event Driven: Yes
Standardized: Yes (PEPs)
Failsafe I/O: Yes
Garbage Collected: Yes

The Python resources and documentation at python.org are top notch, and we strongly recommend focusing on what it has to offer.  However, if you’re the “visual” type, there are also a plethora of YouTube and online learning platforms with adequate Python content. Several resources we occasionally utilize are the YouTuber Derek Banas and the online courses at Udemy; Derek is great for a very fast overview of a language or technology and Udemy constantly offers courses for under fifteen US Dollars. Furthermore, if you are not a hard core text editor user, we suggest test driving our favorite Python IDE, PyCharm (community edition).

 

Python Review

As briefly outlined on the Projects page, mpettersson has a Python 3 repository, named PythonReview publicly available on GitHub.  The two main components of this repo are; first, a thorough review of basic Python 3 syntax, and second, a series of programming questions and corresponding answers implemented in Python. The present majority of the programming questions are from the Cracking the Coding Interview book by Gayle Laakmann McDowell, however, more will be included from different sources in the future.

For the full repository, specifically the programming interview questions see github.com/mpettersson/PythonReview, or for the review component, continue reading below.

 

python.py

This monolithic beast of a file, is our python review.  Some of it’s contents include:

  • Types
  • Control Flow
  • I/O
  • Built-In Data Structures
  • Comprehensions
  • Exception Handeling
  • Classes
  • Functional Programming
  • And Concurrency

More often than not, it simply serves as a crutch for the memory impaired, however, it can also be used as a concise tutorial for experienced programmers new to Python.   It isn’t pretty, but it works for us, and it’ll have to do until something prettier comes along (maybe a Jupiter notebook).

 

python_module.py

This last section of code is the Python module that is referenced in the Python.py code above:

 

As always, please contact us with comments, concerns, questions, etc. about Python!

Leave a Reply