LANGUAGE » PYTHON

Syntax

Comment

py
## Single line comment

'''
Multi-line
comment
'''

Variables

py
my_int = 7
my_float = 1.234
my_bool = True
my_string = 'I\'m new here!' # May be used as array
my_array = [1, 2, 3, 4]
my_dict = {'name': 'John', 'age': 28}

Simple operations

py
addition = 72 + 23
subtraction = 108 - 204
multiplication = 108 * 0.5
division = 108 / 9
exponentiation = 10 ** 2
modulo = 10 % 2

Bool evaluations

py
100 == (2 * 50) and 19 <= 19
-22 >= -18 or 99 != (98 + 1)
not False

Unlike other programming languages, comparison operations can be chained.

py
1 < 2 < 3

Function

Using return:

py
def spam():
    eggs = 12
    return eggs

lambda (parameters): (return expression)

Using yield (efficient memory usage):

TIP

Useful for creating generator functions to produce a sequence of values lazily, meaning it generates values one at a time and only when requested, rather than all at once.

The function's state between calls is retained and can resume execution from where it left off.

py
# Flask / SQLAlchemy example
result = session.execute(query.execution_options(yield_per=1000))

def generate_csv(result):
    for row in result:
        yield ','.join(map(str, row)) + '\n'

return Response(
    generate_csv(result),
    mimetype='text/csv',
    headers={'Content-Disposition': 'attachment;filename=data.csv'},
)

With

Automatically close the object as soon as the with block finishes.

py
with open('sound.mp3', 'wb') as audio_file:
    audio_file.write(data)

If returning from within a with block, some care must be taken because the object with be closed as soon as we return.

By sending the object as an argument to the function, it will be kept open until the function finishes (useful if using yield in the function).

py
with open('sound.mp3', 'wb') as audio_file:
    return lazy_write_data(audio_file)