This page (revision-16) was last changed on 2025-07-30 12:48 by Murray Altheim

This page was created on 2025-07-30 02:51 by Murray Altheim

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
16 2025-07-30 12:48 2 KB Murray Altheim to previous
15 2025-07-30 12:48 3 KB Murray Altheim to previous | to last
14 2025-07-30 12:48 3 KB Murray Altheim to previous | to last
13 2025-07-30 07:19 3 KB Murray Altheim to previous | to last
12 2025-07-30 07:18 2 KB Murray Altheim to previous | to last
11 2025-07-30 07:13 2 KB Murray Altheim to previous | to last
10 2025-07-30 07:12 2 KB Murray Altheim to previous | to last
9 2025-07-30 06:58 1 KB Murray Altheim to previous | to last
8 2025-07-30 06:56 1 KB Murray Altheim to previous | to last
7 2025-07-30 06:56 1 KB Murray Altheim to previous | to last
6 2025-07-30 06:55 1 KB Murray Altheim to previous | to last
5 2025-07-30 06:22 718 bytes Murray Altheim to previous | to last
4 2025-07-30 06:18 646 bytes Murray Altheim to previous | to last
3 2025-07-30 03:56 463 bytes Murray Altheim to previous | to last
2 2025-07-30 03:55 458 bytes Murray Altheim to previous | to last
1 2025-07-30 02:51 410 bytes Murray Altheim to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
!!! Functions
!!! Blocks
At line 3 added one line
%%info
At line 5 added one line
%%
At line 5 changed one line
We can define __functions__ in Python. Functions are defined globally, within the file/module as they begin in column 0.
In Python, a block is a group of statements that belong together, forming the body of a function, loop, class or other structure. A block is defined by an initial line followed by the contents of the block indented four characters.
At line 9 added 22 lines
As an example, a {{for}} block sets up a loop:
%%filename main.py %% %%python
for i in range(0,5):
print(i)
%%
%%warning
Notice that the contents of the {{for}} block are indented four characters. This causes the contents of the block to be executed five times, printing the value of the index variable ("i") each time.
%%
!! The try-except-finally Block
There is a {{try-except-finally}} structure called a __compound statement__, consisting of three separate __blocks__. This is ideal for a main.py file, and is also a very common and useful structure. It is composed of three parts:
* {{try}}: this block contains is the code we want to ''try'' to execute
* {{except}}: this block catches any errors or exceptions that occur and executes the block, handling the exception
* {{finally}}: no matter what happens, this block will be executed after the {{try}} (and possibly {{except}}) blocks are executed
In the below example, there is a {{try}} block, followed by an {{except}} block, followed by a {{finally}} block. A {{try}} block must be followed by an {{except}} block and/or a {{finally}} block (you must have one of them).
At line 9 changed 4 lines
\\# we define a function called "display_message"
def display_message(message):
print(message)
raise Exception('we did something wrong.')
try:
At line 35 added 14 lines
print('hello world.') # remember to indent the insides of your blocks by 4 characters!
except Exception:
# this block is executed if there is an exception (error)
print('an error occurred.')
finally:
# this is always executed, no matter what
print('complete.')
%%
If you want to use the exception to print out an error message you need to assign it to a variable (in this case, we've used {{ex}}).
%%filename main.py %%
%%python
At line 15 changed 3 lines
display_message('hello world.')
except Exception as e:
print('an error occurred: {}'.format(e))
print('hello world.')
except Exception as ex: # we assign the Exception to the variable 'ex'
print('an error occurred: {}'.format(ex))
At line 59 added 30 lines
!! Optional Blocks
As mentioned above, in the {{try-except-finally}} compound statement, the {{except}} or {{finally}} block is optional.
If you don't need to do anything after exiting the {{try}} block you can leave off the {{finally}} block:
%%filename main.py %%
%%python
try:
print('hello world.')
except Exception:
print('an error occurred.')
%%
or, just using {{finally}}:
%%filename main.py %%
%%python
try:
print('hello world.')
finally:
print('complete.')
%%
This would be useful when you want the Exception to be passed on and handled somewhere else.
At line 24 changed one line
__Next:__ [MicroPython Tutorial Exercise 3|MicroPythonTutorialExercise03]: classes
__Next:__ [MicroPython Tutorial Exercise 3|MicroPythonTutorialExercise03]: functions