4.1. Functions

The Python scripts that you tried in the previous chapter are executed line by line. Each line of code performs one action and, after the action is finished, execution moves to the next line. This is a simple and robust way to perform tasks that straightforwardly proceed from the beginning to the end.

However, if we want the user to decide what to do, instead of letting the program always perform the same operations in the same order, the code must be structured differently. Typically, this is the case when an application has a graphical user interface that lets the user perform different actions by interacting with user interface (UI) elements.

When using the S60's framework for building user interfaces, the execution does not progress deterministically line after line in the code. Instead, the user may launch specific tasks by pressing, say, specific keys on the mobile phone keyboard. In this case, your job as an application developer is to bind specific tasks to specific key events. When the user chooses a menu item or to quit, your application should execute a task that corresponds to such an event. For this purpose, you need to make functions of your own.

In Example 1 (shown here once more as Example 9), we had three lines of code that were executed in sequence. The second line triggered a text input field and the third line a popup note.

Example 4.1. First PyS60 program
import appuifw word = appuifw.query(u"Type your name", "text") appuifw.note(u"Greetings ...

Get Mobile Python: Rapid Prototyping of Applications on the Mobile Platform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.