Skip to content

Basics

Python Basics#

  • Variables don’t need to be declared before you can use them
  • Everything is an object - everything has attributes and methods
  • def <function_name>():
  • Preferred variable name: my_var
  • naming files: hello_world.py

Style#

  • Blocks - code in function or loop - are indented extra one step (4 spaces)

Python shell#

Sometimes called REPL: Read Evaluate Print Loop

Getting help#

Use help:

    Objects

    >>> help(print)

    Methods

    >>> help(str.center)

Errors#

  • NameError - variable with that name is not defined (couldn’t be found). Also happens with functions.
  • TypeError - doing something a particular type does not support eg. 5 + "Hello world"
  • SyntaxError - Python can’t understand - most cryptic
  • ZeroDivisionError - Can’t divide by 0

Variables#

Can’t contanin hyphen or start with a number

Eg. favourite_number = 42

Can explicitly delete a variable

Eg. del favourite_number

Floats#

When dividing a number python 2 always returns a float egardless if answer is a whole number. Python 3 will return an int in that case

Don’t use for banking / financials

Rounding#

round(4.5) = 5,0 int(4.5) = 4

can cast variables with int(), float()

Order of operations#

Can be controlled with parenthesis (). Eg. (5 + 5) * 2

Take note#

There are no -- and ++ in python..here is the explaination

There is however ** which is to the power of

Strings#

Group of letter, numbers, spaces between two quote marks

Can use single or double quotes

Can escape special characters with a \

Triple quotes#

"""
        He's right
"""

Python holds onto new lines with triple quotes

Can also cast to string: str(5)

Can add strings with + and +=

But can’t subtract strings and can’t add different types together. You can multiple but can’t divide.

Templates#

Leaving holes in strings to fill in later

Create a placeholder with {}

my_string = "I have {} puzzles"

Set the value with: print(my_string).format(10)

Lists#

Similar to arrays

Can hold any type of item

You make a list with brackets: []

`my_list = [1, 2, 3]

Can only concatenate lists with other lists

You can multiply lists

operations#

Append#

my_list.append(6)

Only 1 at a time If you append a list, you get a 2d list

Extend#

my_list.extend(5,6,7)

Add multiple items

my_list.extend([8, 9])

Remove#

my_list.remove(8)

Can remove a list within

Lists#

Casting an int or float to a list: list(5) returns an error Not Iterable

But a string is iterable and you can do:

>>>> list('hello')
['h', 'e', 'l', 'l', 'o']
Split#

Breaks up a string (on whitespae by default)

>>> 'hello there students'.split()
['hello', 'there', 'students']

Can specify what to use as delimiter: .split(':')

Join#
>>> flavours = ['choc','mint','strawberry']
>>> ', '.join(flavours)
'choc, mint, strawberry'
>>> "My favourite flavours are: " + ', '.join(flavours)
'My favourite flavours are: choc, mint, strawberry'
>>> "My favourite flavours are: {}".format(", ".join(flavours))
'My favourite flavours are: choc, mint, strawberry'

Strings and lists are iterable

.index('a') returns the first matching index

Get element at an index: my_list[0]

Keywords#

Python has reserved keywords not called as a function

del var_name - gets rid of variable del alpha_list[2] - delete a specific entry (Can’t delete from a string)

is - c is d - whether in same place in memory (best use is checking if variable is None)

not - flips the result

eg. if not age > 3600

in - check for containment / inclusion

eg. "cheese" in "cheeseshop"

Can use multiple: if x not in y

break - lets us end a loop early

continue - lets you skip the rest of the iteration

def

return return a value to whatever called a function

try - block element

import

Booleans#

bool(var) - check Booleans

python has a keyword None meaning empty

Comparison#

== / != - equality > / < - greater than or less than

Conditions#

if, else, elif

Loops#

for loop - do an action a certain number of times while loop - runs an unknown number of times

Is a block so requires : at the Append

Eg. for word in my_list:

while start:
    print(start)
    start -= 1

Getting user input#

Use input("Question?")

age = input("What is your age? ")

It is a string though, must cast

Functions#

function name = same as variable name with parentheses:

def hows_the_parent():
    print("He's pining for the fjords!")

Call a function: hows_the_parent()

Argument#
def lumberjack(name):
    print name;

Handling Exceptions#

tryexceptelse

try:
    count = int(input("Give me a number: "))
except ValueError:
    print("That's not a number")
else:
    print("Hi " * 5)

Using the standard library#

Use import keyword

import <library_name>