Python Programming Language
Image: @fullstackpython

Python Programming Language

03 April, 2016.Technology and Science.1 sources

Key Takeaways

  • Open source, widely used for creating software applications.
  • Used to build and deploy web applications and web APIs.
  • Analyzes and visualizes data; tests software written in other languages.

Python use and scope

Python is often used to build and deploy web applications and web APIs.

Image from @fullstackpython
@fullstackpython@fullstackpython

Python can also analyze and visualize data and test software, even if the software being tested was not written in Python.

Core feature: generators

Generators are a Python core language construct that allow a function's return value to behave as an iterator.

A generator can allow more efficient memory usage by allocating and deallocating memory during the context of a large number of iterations.

Image from @fullstackpython
@fullstackpython@fullstackpython

Generators are defined in PEP255 and included in the language as of Python 2.2 in 2001.

Comprehensions in Python

Comprehensions are a Python language construct for concisely creating data in lists, dictionaries and sets.

The Python programming language is an open source, widely-used tool for creating software applications

@fullstackpython@fullstackpython

List comprehensions are included in Python 2 while dictionary and set comprehensions were introduced to the language in Python 3.

Comprehensions are a more clear syntax for populating conditional data in the core Python data structures.

List comprehension:

double_digit_evens = [e*2 for e in range(5, 50)]

>>> double_digit_evens

[10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

Set comprehension:

double_digit_odds = {e*2+1 for e in range(5, 50)}

{11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]

Dictionary comprehension:

e: e*10 for e in range(1, 11)}

{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60, 7: 70, 8: 80, 9: 90, 10: 100}

Resources and learning

Python Module of the Week is a tour through the Python standard library.

A Python interpreter written in Python is incredibly meta but really useful for wrapping your head around some of the lower level stuff going on in the language.

Image from @fullstackpython
@fullstackpython@fullstackpython

A few things to remember while coding in Python is a nice collection of good practices to use while building programs with the language.

Python tricks that you can't live without is a slideshow by Audrey Roy that goes over code readability, linting, dependency isolation, and other good Python practices.

Python innards introduction explains how some of Python's internal execution happens.

What is a metaclass in Python is one of the best Stack Overflow answers about Python.

Armin Roacher presented things you didn't know about Python at PyCon South Africa in 2012.

There's an entire page on best Python resources with links but the following resources are a better fit for when you're past the very beginner topics.

The resources list includes: The Python Subreddit rolls up great Python links and has an active community ready to answer questions from beginners and advanced Python developers alike.

The blog Free Python Tips provides posts on Python topics as well as news for the Python ecosystem.

Python Books is a collection of freely available books on Python, Django, and data analysis.

Python IAQ: Infrequently Asked Questions is a list of quirky queries on rare Python features and why certain syntax was or was not built into the language.

A practical introduction to Functional Programming for Python coders is a good starter for developers looking to learn the functional programming paradigm side of the language.

Getting Started with the Python Internals takes a slice of the huge CPython codebase and deconstructs some of it to see what we can learn about how Python itself is built.

Comprehending Python’s Comprehensions is an awesome post by Dan Bader with a slew of examples that explain how list, dictionary and set comprehensions should be used.

List comprehensions in Python covers what the code for list comprehensions looks like and gives some example code to show how they work.

This blog post entitled Python Generators specifically focuses on generating dictionaries.

It provides a good introduction for those new to Python.

Generator Expressions in Python: An Introduction is the best all-around introduction to how to use generators and provides numerous code examples to learn from.

Python: Generators - How to use them and the benefits you receive is a screencast with code that walks through generators in Python.

The question to Understanding Generators in Python? on Stack Overflow has an impressive answer that clearly lays out the code and concepts involved with Python generators.

Generator Tricks for Systems Programmers provides code examples for using generators.

The material was originally presented in a PyCon workshop for systems programmers but is relevant to all Python developers working to understand appropriate ways to use generators.

More on Technology and Science