Basic Python Elements
For an overview and installation instructions, see FNWiki Python
Python is a programming language similar to C++, yet more automated. The user has to do less in order to achieve the same result (i.e. the type of a variable doesn't have to be declared, Python analyzes it and stores it accordingly). Python consists of two parts: the PC editor and compiler, used to write and test the code, and the on-phone interpreter, which reads and executes the code. While the Python editor (IDLE or command line) is useful for testing applications in real time, due to the fact that operations are performed in real time, some users may prefer entering code in a traditional text editor, such as Notepad. Following snippets can be entered in interactive mode. In this mode interpreter prompts for the next command with the primary prompt, usually three greater-than signs ">>> ". For continuation lines it prompts with the secondary prompt, "... ". If the instruction is not complete interpreter is going to display the secondary prompt.
Variables are "containers" used to store values. For example:
stores the value 2 in the variable named x.
In Python, there are the following types of variable:
-integer - a number
-long - an extended version of integer
-float - a number with decimals
-boolean - a logical variable (can be TRUE or FALSE)
-character - a text character (like '1' or 'f')
-string - a sequence of 1 or more characters (like 'Nokia' or '2')
There are other kind os variables called arrays of elements (strings and lists). An array is a collection of items, like:
list=[1,2,3,4] #a list of numbers
list=['a','b'] # a list of characters
An array is characterised by its length (the number of elements). For example, the length of [1,2,3,6,1,'d'] is 6. Note that an array is evaluated from position 0 (element 1, in this case) to its length-1 (element d).
To check whether an element is in an array, if the array is short and well known, we do the following:
element in array #returns true if the element is in that array, and false if not.
>>>if (x in [1,5,2,7,2,4]):
... print 'yes'
... print 'no'
In this example after entering the ":" symbol press 3 times 0 key (for entering return key) Secondary prompt is displayed because the "if" statement is not completed. Enter now 4 spaces before entering next line. And repeat these steps until statement is completed fully.
Program sytax and other general info
The input is what the user tells the program. x=2, x=raw_input() are ways to give x a value. Output is what the program shows the user. print x outputs the value of x. You can also use print "%letter" % (value). The letters and associated types are:
f - float
d - integer
s - string
>>>print "%d" % (5)
>>>print "%s" % ('series 60')
>>>print "%f" % (x)
"#" in the program code starts a comment (a line that is not interpreted by Python, and is for the programmer to describe certain operations)
Operators and operations
Operators are used to compare variables. < (smaller), > (greater), <= (smaller or equal), == (equal), >= (greater or equal), != (different)
"and", "or", "not" - used with boolean variables (true and true=true, true and false=false, t or t=t, t or f=t, not t=f, not f=t)
(x<y) and (y!=0) #returns true
not(x==2) #returns false
Like in any programming language, the programmer can manipulate the variables in almost any way they desire. Here is a list of operations, the types of variables they can be applied to and examples:
- "+" -integer (2+5=7), long (500000000+1000000000=6000000000), float (2.34+1.2=3.54), character ('f'+'g'='fg') and string ('nokia'+' n95'='nokia n95')
- "-" -integer, long, float
- "*" -integer, long, float, or between an integer and a character or string (3*'hi'='hihihi')
- "/" -integer, long, float
- "%" -the modulus, meaning the number you get after dividing a number to another number, long, float (2.4%2=0.4)
These apply to arrays
-Changing an element
>>> x = [1, 1, 1]
>>> x = 2
[1, 2, 1]
>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
>>> del names
['Alice', 'Beth', 'Dee-Dee', 'Earl']
>>> name = list('Perl')
['P', 'e', 'r', 'l']
>>> lst = [1, 2, 3]
[1, 2, 3, 4]
Conditionals and loops
In order to check if a condition is true or not, the 'if' structure is used. Based on the validity of the condition, instructions can be given.
if <condition> :
The condition is checked. If it is true, the instructions 1 to ... will be carried out. If, on the other hand, the condition is false, instructions a to ... will be carried out. Example:
... print 'ok'
... print '56'
... print x
When an action needs to be repeated for a certain number of times, or until a condition is met, we use the 'while' or 'for' loop:
If the condition is true, the loop is entered and the instructions will be performed until the condition becomes false. Example:
... print 'ok'
>>>for i in range(3):print "do"
Functions in Python are used to perform a set of operations to modify a certain element, or for many other purposes. An example of a function is the "pow" function:
A function is declared like this:
Functions can also be used to convert a type of variable into another. The structure is variable2=function(variable1) These functions are: int(var) and long(var)->number, float(var)->number with decimals, str(var)->string, chr(var)->character. Example:
Modules contain certain functions that are not loaded with Python by default, but instead need to be loaded by the user. There are two import methods:
>>>from math import sin
The difference is that the first method imports the entire "math" module, while the second only imports the needed function, "sin".
An important module for PyS60 is "appuifw". It contains the functions used to get certain types of input and output. Example:
appuifw.note(u"This is an example")
# will give you a message containing the text "This is an example"
Other important modules are "graphics" and "e32".
Python is one of the easiest languages for developing applications for mobile phones and other platforms. Let's say we want to make an application that asks you to pick a name from a list and displays the code associated with it. Here is a step-by-step guide to a method:
1.Create a new a Notepad document.
2.Write the code of the application
#import the necessary modules
#give the program a title
#display the list of names so that the user can pick one. The order is important
#associate a code to each of them
#display the corresponding code, given by the number of the picked name from the list
if(pickedname==0):appuifw.popup_menu([u"%d" % (codes)])
if(pickedname==1):appuifw.popup_menu([u"%d" % (codes)])
3.Save the file as "filename".py. The extension is important.
4.Transfer it to your phone. Store it in the "Python" folder
5.Test it. Open Python, select Option->Run script->"filename".py