====== Python basics ====== Since in the course, we will be trying to program the Raspberry Pi Pico in MicroPython, it is necessary to familiarize ourselves with at least the basics of the Python programming language. ===== Variables ===== A variable is a fundamental element of programming abstraction that provides a symbolic name for a location in memory occupied by binary data. The meaning of binary data is then represented in the program through a data type. Data type can describe binary data as mode complex entities, like integer of float numbers, strings, arrays, dictionaries, etc. a = 10 # integer b = 3.14 # float c = "hello" # string d = [1, 2, 3] # list e = {"id": 10} # dictionary ===== Printing ===== print(a) print("a =", a) print("a =", a, "b =", b) print("a = {}".format(a)) print("a = {}, b = {}".format(a, b)) ===== Loops ===== Loops can use two commands, **for** or **while**. # loop using command for and function range for i in range(5, 10, 2): print(i) Function **range(begin, end, step)** generally returns sequence of numbers from **begin** to **end-1** with **step**. If **begin** is not given, then its value is **0**, default **step** is **1**. In following example are ranges recasted to lists. print(list(range(3))) print(list(range(3, 5))) print(list(range(3, 10, 3))) Loops using commnad **for** can be also combined with lists. values = ['one', 'two', 'three'] for i in values: print(i) # loop using command while a = 5 while a > 1: print(a) a = a - 1 # note: infinite loop, common in embedded # while True: # # command ===== Branches ===== # branch a = 10 if a > 5: print("a is bigger than 5") else: print("it is not bigger") # branches and loops can be combined for i in range(10): if i % 2: print(i) ===== Modules ===== Some functionalities can be distributed to **modules**. For example module **math** contains math functions. # import of whole library import math print("sin(0.22) = {:.4f}, and cos(0.22) = {:.4f}".format(math.sin(0.22), math.cos(0.22))) # import library with acronyme import math as m print("sin(0.22) = {:.4f}, and cos(0.22) = {:.4f}".format(m.sin(0.22), m.cos(0.22))) # import just necessary functions from math import sin, cos print("sin(0.22) = {:.4f}, and cos(0.22) = {:.4f}".format(sin(0.22), cos(0.22)))