Dan Bader

Improve Your Python With:

Dan’s ๐Ÿ Python Tricks ๐Ÿ’Œ

Get a short & sweet Python Trick delivered to your inbox every couple of days.

๐Ÿ”’ No spam ever. Unsubscribe any time.

Improve Your Python with a fresh ๐Ÿ Python Trick ๐Ÿ’Œ every couple of days

๐Ÿ”’ No spam ever. Unsubscribe any time.

Q: What’s a Python Trick?

A short Python code snippet meant as a teaching tool. A Python Trick either teaches an aspect of Python with a simple illustration, or serves as a motivating example to dig deeper and develop an intuitive understanding.

Here are a few examples of the kinds of tricks you’ll receive:

# How to merge two dictionaries
# in Python 3.5+:

>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 3, 'c': 4}
>>> z = {**x, **y}
>>> z
{'c': 4, 'a': 1, 'b': 3}

# In Python 2.x you could use this:

>>> z = dict(x, **y)
>>> z
{'a': 1, 'c': 4, 'b': 3}
# Why Python Is Great:
# Function argument unpacking

def myfunc(x, y, z):
    print(x, y, z)

tuple_vec = (1, 0, 1)
dict_vec = {'x': 1, 'y': 0, 'z': 1}

>>> myfunc(*tuple_vec)
1, 0, 1

>>> myfunc(**dict_vec)
1, 0, 1
# The lambda keyword in Python provides a
# shortcut for declaring small and
# anonymous functions:

>>> add = lambda x, y: x + y
>>> add(5, 3)
8

# You could declare the same add()
# function with the def keyword:

>>> def add(x, y):
...     return x + y
>>> add(5, 3)
8

# So what's the big fuss about?
# Lambdas are *function expressions*:
>>> (lambda x, y: x + y)(5, 3)
8

# โ†’ Lambda functions are single-expression
# functions that are not necessarily bound
# to a name (they can be anonymous).

# โ†’ Lambda functions can't use regular
# Python statements and always include an
# implicit `return` statement.

Improve Your Python Skills, Bit by Bit:

Improve Your Python with a fresh ๐Ÿ Python Trick ๐Ÿ’Œ every couple of days

๐Ÿ”’ No spam ever. Unsubscribe any time.

What Python Devs Are Saying:

“Python Tricks” curated by Dan Bader (dbader.org).