# Python

From Centre for Bioinformatics and Computational Biology

## Contents

### Variables

#### Declaration and typing

#### # Boolean variables can only contain one of two values: True or False # Boolean values are annotated by using the "bool" keyword a: bool = True #### #### # Integers are variables that contain any positive or negative whole number # Integers are annotated using the "int" keyword # Floats are variables that contains any positive or negative decimal # Floats are annotated using the "float" keyword a: int = 15 b: int = -23 c: float = 6.4 d: float = -9.5 #### #### # Strings are variables that contain text # Strings are annotated using the "str" keyword a: str = "This is a string" b: str = 'Strings can be enclosed using single quotes' # Initializing an empty string: a = "" #### #### # Lists are collections of other variables # Lists are annotated using the "list" keyword a: list = ["Some string", 15, 9.6, True] # Initializing an empty list: a = [] #### #### # Sets are lists that cannot contain duplicate values # They also do not keep the order of the variables # Sets are a lot faster than lists when looking for specific values # Sets are annotated using the "set" keyword a: set = {"Some string", 15, 9.6, True} # Initializing an empty set: a = set() #### #### # Tuples are lists that cannot be changed after being created # They are useful when returning multiple values from a function # Tuples are annotated using the "tuple" keyword a: tuple = ("Some string", 15, 9.6, True) # Because tuples cannot be changed there is no point in initializing an empty one #### #### # Dictionaries work of Key - Value pairs # Keys can be any immutable type - integers, floats, strings and tuples # Dictionaries do not keep the their order # Dictionaries are annotated using the "dict" keyword a: dict = {"A": "Some string", "B": 15, "C": 9.6, "D": True} # Initializing an empty dictionary: a = {} ####

#### Mathematical operations

#### # Integers and floats support most arithmetic operations a = 15 b = 6 c = a + b # c = 21 c = a - b # c = 9 c = a * b # c = 90 c = a / b # c = 2.5 # There are some special operators: # modulus (%) returns what is left after division # floor division (//) throws away the decimal place c = a % b # c = 3 c = a // b # c = 2 #### #### # Strings only support 2 mathematical operators # The addition (+) is used to concatenate strings # The multiplication (*) returns multiples of a string a = "Hello" b = "World" c = a + b # c = "HelloWorld" c = a * 3 # c = "HelloHelloHello" #### #### # You can use mathematical shorthand to make some code more readable # Shorthand is supported for all operators and works with both strings and numbers a = 12 b = "Hello" c = "World" a = a + 6 # Normal way a += 6 # Shorthand gives the same result b = b + c # Normal way, c = "HelloWorld" b += c # Shorthand gives the same result ####

#### Modifying collections

#### # LISTS # You can add values to a list by using the append() method: a = [] a.append("Hello") a.append(15) a.append(True) print(a) # a = ["Hello", 15, True] #### #### # SETS # You can add values to a list by using the add() method # A list of values can be added to a set by using the update() method a = set() b = [15, 9.6, True] a.add("Hello") a.update(b) print(a) # a = {"Hello", 15, 9.6, True} #### #### # TUPLES # Tuples cannot be added to, they do not change #### #### # DICTIONARIES # You can add a new value pair by assigning the key to a value a = {} a["A"] = "Hello" a["B"] = 15 a["C"] = 9.6 a["D"] = True print(a) # a = {"A": "Hello", "B": 15, "C": 9.6, "D": True} ####