Двоеточие, так же как и отступы важны. Новый блок кода, который иден с новой строки после двоеточия должен быть смещен отступом.
Оператор условия
if a > b: c = a else: c = b
Множественное условие
if a < 0: s = -1 elif a == 0: s = 0 else: s = 1
Инкремент и декремент
a=3 a+=1 # a будет 4 a-=1 # a будет опять 3 a+=7 # a будет 10 mystring = "Hello" mystring += " world." # будет "Hello word."
Цикл while
s = "abcdefghijklmnop" while s != "": print s s = s[1:-1]
Для большей гибкости при организации циклов применяются операторы break (прервать) и continue (продолжить)
Цикл for
Вывод таблицы умножения:
for i in range(1, 10): for j in range(1, 10): print "%2i" % (i*j) print
Перебор списка:
a = ['Linux', 'Open', 'Office'] for x in a: print x, len(x)
Еще перебор, обращение к элементу списка по индексу:
a = [`Linux', 'is', 'the', 'best', 'system'] for i in range(len(a)): print i, a[i]#Обращение к элементу списка по его индексу
Результат:
0 Linux 1 is 2 the 3 best 4 system
Обработка исключительных ситуаций
try: res = int(open('a.txt').read()) / int(open('c.txt').read()) print res except IOError: print "Ошибка ввода-вывода" except ZeroDivisionError: print "Деление на 0" except KeyboardInterrupt: print "Прерывание с клавиатуры" except: print "Ошибка"
Самостоятельное возбуждение исключений производится через оператор raise:
try: ... raise MyError, "my error 1" ... except MyError, x: print "Ошибка:", x
Есть еще форма try-finally для гарантированного выполнения некоторых действий при передаче управления изнутри оператора try-finally вовне. Он может применяться для освобождения занятых ресурсов, что требует обязательного выполнения, независимо от произошедших внутри катаклизмов:
try: ... except: ... finally: print "Обработка гарантированно завершена"