Python Basics

We all need to start somewhere, so how about doing it here.

From the Python 3 tutorial

Python is an easy to learn, powerful programming language [...] Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development.

Math Operators

From highest to lowest precedence:

OperatorsOperationExample
**Exponent2 ** 3 = 8
%Modulus/Remainder22 % 8 = 6
//Integer division22 // 8 = 2
/Division22 / 8 = 2.75
*Multiplication3 * 3 = 9
-Subtraction5 - 2 = 3
+Addition2 + 2 = 4

Examples of expressions:

>>> 2 + 3 * 6
# 20

>>> (2 + 3) * 6
# 30

>>> 2 ** 8
#256

>>> 23 // 7
# 3

>>> 23 % 7
# 2

>>> (5 - 1) * ((7 + 1) / (3 - 1))
# 16.0

Augmented Assignment Operators

OperatorEquivalent
var += 1var = var + 1
var -= 1var = var - 1
var *= 1var = var * 1
var /= 1var = var / 1
var %= 1var = var % 1

Examples:

>>> greeting = 'Hello'
>>> greeting += ' world!'
>>> greeting
# 'Hello world!'

>>> number = 1
>>> number += 1
>>> number
# 2

>>> my_list = ['item']
>>> my_list *= 3
>>> my_list
# ['item', 'item', 'item']

Data Types

Data TypeExamples
Integers-2, -1, 0, 1, 2, 3, 4, 5
Floating-point numbers-1.25, -1.0, --0.5, 0.0, 0.5, 1.0, 1.25
Strings'a', 'aa', 'aaa', 'Hello!', '11 cats'

Concatenation and Replication

String concatenation:

>>> 'Alice' 'Bob'
# 'AliceBob'

String replication:

>>> 'Alice' * 5
# 'AliceAliceAliceAliceAlice'

Variables

You can name a variable anything as long as it obeys the following rules:

  1. It can be only one word.
>>> # bad
>>> my variable = 'Hello'

>>> # good
>>> var = 'Hello'
  1. It can use only letters, numbers, and the underscore (_) character.
>>> # bad
>>> %$@variable = 'Hello'

>>> # good
>>> my_var = 'Hello'

>>> # good
>>> my_var_2 = 'Hello'
  1. It can’t begin with a number.
>>> # this wont work
>>> 23_var = 'hello'
  1. Variable name starting with an underscore (_) are considered as “unuseful”.
>>> # _spam should not be used again in the code
>>> _spam = 'Hello'

Comments

Inline comment:

# This is a comment

Multiline comment:

# This is a
# multiline comment

Code with a comment:

a = 1  # initialization

Please note the two spaces in front of the comment.

Function docstring:

def foo():
    """
    This is a function docstring
    You can also use:
    ''' Function Docstring '''
    """

The print() Function

The print() function writes the value of the argument(s) it is given. […] it handles multiple arguments, floating point-quantities, and strings. Strings are printed without quotes, and a space is inserted between items, so you can format things nicely:

>>> print('Hello world!')
# Hello world!

>>> a = 1
>>> print('Hello world!', a)
# Hello world! 1

The end keyword

The keyword argument end can be used to avoid the newline after the output, or end the output with a different string:

phrase = ['printed', 'with', 'a', 'dash', 'in', 'between']
>>> for word in phrase:
...     print(word, end='-')
...
# printed-with-a-dash-in-between-

The sep keyword

The keyword sep specify how to separate the objects, if there is more than one:

print('cats', 'dogs', 'mice', sep=',')
# cats,dogs,mice

The input() Function

This function takes the input from the user and converts it into a string:

>>> print('What is your name?')   # ask for their name
>>> my_name = input()
>>> print('Hi, {}'.format(my_name))
# What is your name?
# Martha
# Hi, Martha

input() can also set a default message without using print():

>>> my_name = input('What is your name? ')  # default message
>>> print('Hi, {}'.format(my_name))
# What is your name? Martha
# Hi, Martha

It is also possible to use formatted strings to avoid using .format:

>>> my_name = input('What is your name? ')  # default message
>>> print(f'Hi, {my_name}')
# What is your name? Martha
# Hi, Martha

The len() Function

Evaluates to the integer value of the number of characters in a string, list, dictionary, etc.:

>>> len('hello')
# 5

>>> len(['cat', 3, 'dog'])
# 3

Test of emptiness

Test of emptiness of strings, lists, dictionaries, etc., should not use len, but prefer direct boolean evaluation.

Test of emptiness example:

>>> a = [1, 2, 3]

# bad
>>> if len(a) > 0:  # evaluates to True
...     print("the list is not empty!")
...
# the list is not empty!

# good
>>> if a: # evaluates to True
...     print("the list is not empty!")
...
# the list is not empty!

The str(), int(), and float() Functions

These functions allow you to change the type of variable. For example, you can transform from an integer or float to a string:

>>> str(29)
# '29'

>>> str(-3.14)
# '-3.14'

Or from a string to an integer or float:

>>> int('11')
# 11

>>> float('3.14')
# 3.14

Subscribe to pythoncheatsheet.org

A bullshit free publication, full of interesting, relevant links.