Python modules and timing
Python libraries are arranged as modules, containing a number of functions and/or classes. These modules must be
imported before being used. You can either import the complete module, or you can import individual functions or classes to be used.
As an example, let's study the
time module. In MicrroPython the module is called utime (for micro-time) and it contains functions allowing us to delay execution for a certain amaount of time.
- sleep(t) sets the program to sleep for t seconds
- sleep_ms(t) sets the program to sleep for t ms
If, in our program which prints "Hello World!" we want to have the text printed only every second we could program this as follows:
import utime # import time would work as well
for i in range(5):
print("Hello World")
utime.sleep(1) # delay execution be 1 s, utime.sleep_ms(1000) would do the same. sleep_ms is not available in CPython
The other option is to import just the function to be used:
from utime import sleep_ms
for i in range(5):
print("Hello World!")
sleep_ms(1000) # note that utime in front of the sleep call has been omitted
In i similar way, you may use the functions of the math library:
In order to calculate sin(30 degrees) you need access to the
sin function. The
sin function however takes its parameter in radians such that you need the function
radians, converting values from degrees to radians, in addition.
This is how you would go about:
from math import sin,radians
print(sin(radians(30)))
Writing your own functions
It is easily possible to write your own functions and to create your own modules.
Imagine you want to create a sin function which takes angles in degrees, instead of radians. Let's call the function
sin_deg(degrees). It will take its parameter degrees, convert the value to radians and return the sin result, which was calculated with the sin function from the math library. You can define a function with the keyword
def. The function body is again indented, like we saw in case of the conditions or the loops:
from math import sin,radians
def sin_deg(degrees):
rad = radians(degrees)
return sin(rad)
We can call this function as follows:
angle = 30 # use 30 degrees as parameter value
result = sin_deg(angle) # calculates the sin of "angle" degrees using our own sin_deg function
print("sin(",angle,") = ",result)
Let's try these
ExerciseSheets#SecondSessionThereafter we will learn how to access hardware in
Hardware Access GPIO
--
Uli Raich - 2022-10-15
Comments