|
|||||||
Основные конструкции языка Python
Время создания: 28.12.2012 00:03
Текстовые метки: python, синтаксис, основные конструкции, операции, условия, циклы, функции
Раздел: Компьютер - Программирование - Язык Python
Запись: xintrea/mytetra_syncro/master/base/1356638609mkuzpl0tas/text.html на raw.github.com
|
|||||||
|
|||||||
Вывод на печать a = 1 b = 2 print a, b Оператор условия if a > b: c = a else: c = b Множественное условие if a < 0: s = -1 elif a == 0: s = 0 else: s = 1 Выражения Выражения показаны в нижеследующей таблице (приоритет в порядке увеличения). Для унарных операций x обозначает операнд. Ассоциативность операций в Python - слева-направо, за исключением операции возведения в степень ( ** ), которая ассоциативна справа налево. Операция Название lambda лямбда-выражение or логическое ИЛИ and логическое И not x логическое НЕ in, not in проверка принадлежности is, is not проверка идентичности <,<=,>,>=,!=,== сравнения | побитовое ИЛИ ^ побитовое исключающее ИЛИ & побитовое И <<, >> побитовые сдвиги +, - сложение и вычитание *, /, % умножение, деление, остаток +x, -x унарный плюс и смена знака ~x побитовое НЕ ** возведение в степень x.атрибут ссылка на атрибут x[индекс] взятие элемента по индексу x[от:до] выделение среза (от и до) f(аргумент,...) вызов функции ( ... ) скобки или кортеж [ ... ] список или списковое включение {кл:зн, ...} словарь пар ключ-значение `выражения` преобразование к строке (repr) Инкремент и декремент В Python можно не только делать инкремент и декремент, но и увеличивать/уменьшать на любое число. Пример: 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] - этот цикл выведет: abcdefghijklmnop bcdefghijklmno cdefghijklmn defghijklm efghijkl fghijk ghij hi Для большей гибкости при организации циклов применяются операторы break (прервать) и continue (продолжить). Цикл For Вывод таблицы умножения: for i in range(1, 10): for j in range(1, 10): print "%2i" % (i*j),
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 Функции Определение функции: def cenaLine(rub, kop=0): return "%i руб. %i коп." % (rub, kop) Вызов функции c = cena(8, 50) print c Возврат значения из функции в вызывающую программу осуществляется посредством оператора return: def fib(n): # Функция, возвращающая числа Фибоначчи, не превосходящие n result = [1]#Этот список будет содержать числа Фибоначчи a, b = 0, 1 while b < n: print b, a, b = b, a+b result.append(b);#Вставление в результативный список очередного числа return result #Возвращение результата В функция можно использовать значения по умолчанию: def ask_ok(prompt, retries=4, complaint='Yes or no, please!'): Исключения В современных программах передача управления происходит не всегда гладко. Для обработки особых ситуаций (таких как деление на ноль или попытка чтения из несуществующего файла) применяется механизм исключений. 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 "Ошибка" В отличие от других языков программирования, в Python исключения нередко служат для упрощения алгоритмов. Записывая оператор try-except, программист может думать так: "попробую, а если сорвется - выполнится код в except ". Особенно часто это используется для выражений, в которых значение получается по ключу из отображения: try: value = dict[key] except: value = default_value Вместо if dict.has_key(key): value = dict[key] else: value = default_value Самостоятельное возбуждение исключений производится через оператор raise: try: ... raise MyError, "my error 1" ... except MyError, x: print "Ошибка:", x Кроме описанной формы оператора, есть еще форма try-finally для гарантированного выполнения некоторых действий при передаче управления изнутри оператора try-finally вовне. Он может применяться для освобождения занятых ресурсов, что требует обязательного выполнения, независимо от произошедших внутри катаклизмов: try: ... except: ... finally: print "Обработка гарантированно завершена" (непонятно, зачем он нужен. почему не размещать просто в коде после блока try?) Тип file. Работа с файлами Объекты этого типа предназначены для работы с внешними данными. В простом случае - это файл на диске. Файловые объекты должны поддерживать основные методы: read(), write(), readline(), readlines(), seek(), tell(), close() и т.п. Следующий пример показывает копирование файла: f1 = open("file1.txt", "r") f2 = open("file2.txt", "w") for line in f1.readlines(): f2.write(line) f2.close() f1.close() |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|