Краткая справка по Python 3

В сети можно найти много материала по данному языку. Например, мне нравится: https://pythonworld.ru/samouchitel-python

 

Все необходимое для работы с последовательностями.

                Программа на Python пишется в файлах с расширением py. Запустить программу (здесь из файла 1.py) в Linux можно командой:

python3 1.py

Переменные не надо определять/описывать. Тип переменной (например, бывают целые и вещественные переменные) задается присваиванием ей значения. Тип переменной не фиксируется. Новое присваивание может сменить тип переменной. На самом деле, присваивание не присваивает значение, а делает левую часть оператора присваивания ссылкой на объект, создающийся в правой части.

Блоки (в циклах, операторах if и т.д.) выделяются одинаковым отступом слева (например, табуляцией).

                Пусть последовательность целых чисел записана в файле по одному числу в строке. Для работы с файлом его надо открыть (по аналогии с C), последовательно прочитать строки (как строки!),  преобразовать каждую строку в целое число и делать с ним что угодно.

                В следующем примере распечатываются все числа последовательности, заданной в файле (по одному числу в строке):

 

                Оператор print выводит по умолчанию аргументы через пробел с переходом на следующую строку в конце. Это поведение можно изменить:

i=1;j=2;k=3;print(i,j,k, sep=',',end='.')

Будет выведено: 1,2,3.  (без перехода на следующую строку).

                Также в функции print можно указать, что вывод должен производиться в файл: fout=open(”out.txt”,”w”); print(”Hello!\n”,file=fout);fout.close();

                Арифметические операции, практически, такие же, как в С, но нет операций ++, --. Возведение в степень как в Фортране (радость для тех, кто понимает J ): 2**3 дает 8.

                Операции сравнения совпадают с С.

                Логические операции: and, or, not

                Пример поиска минимума последовательности:

                Здесь использован оператор

Выражение1 if Логич.Выражение else Выражение2

его значение равно Выражение1 если  Логич.Выражение истинно, иначе выражение равно Выражение2 .

 

                Синтаксис оператора if моно понять из следующего примера решения задачи поиска суммы всех чисел последовательности, кратных 3:

 

Не забывайте ставить двоеточие!

 

                Исключения (по аналогии с С++) являются основным средством работы с ошибками. Пример ловли исключения, выбрасывающегося в случае невозможности открытия файла:

 

 

                Конечно, желательно решать задачи внутри отдельных функций. Пример оформления определения и вызова функции для вышеприведенной задачи:

                В приведенном примере интересно использование множественного присваивания: мы возвращаем из функции сразу несколько значений через запятую и слева от знака присваивания пишем аналогичную конструкцию. Например:

a,b,c,d=1,2,3,4

 

                Подключить модуль из стандартной библиотеки можно с помощью инструкций import и from :

from math import sqrt

a=sqrt(2)

 

или

 

import math

a=math.sqrt(2)

 

                Абсолютно аналогично можно подключить собственный модуль (=файл) и использовать подпрограммы из него. Файл с модулем можно размещать в той же папки, что и основная выполняемая программа.

                Если числа заданы в файле не по одному числу в строке и/или если между числами возможны различные разделителя, то требуется разбиение строки на слова. Для этого используется член класса строки split с последующим перебором всех слов из получившегося списка. Например, в случае предыдущей задачи это можно сделать так:

 

 

                То же самое можно сделать более коротко и с игнорированием ошибочных слов:

                Для понимания работы со строками приведем пример решения следующей задачи:

Текстовый файл содержит строки, состоящие из слов, разделенных пробелами и табуляциями. Написать функцию, возвращающую самое короткое слово, состоящее из одной цифры в первой позиции слова и далее из букв английского языка, и его длину. Также функция должна возвращать код ошибки.

 

 

                Здесь следует обратить внимание, что строки индексируются с 0. Обращаться к символу строки с индексом k можно str[k]. Обращаться к подстроке в интервале индексов от from до to (to не включается!) следует как str[from:to] .

Для строк доступны функции вида is*, аналогичные функциям языка С.