Материал: Bilety_Programmirovanie

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
  1. Стиль программирования на языке Python.

PEP 8 — документ, описывающий соглашение о том, как писать код на языке Python. PEP 8 создан на основе рекомендаций создателя языка Гвидо ван Россума. Ключевая идея Гвидо такова: код читается намного больше раз, чем пишется. Собственно, рекомендации о стиле написания кода направлены на то, чтобы улучшить читаемость кода и сделать его согласованным между большим числом проектов.

Основные правила PEP 8

Форматирование:

  • Используйте четыре пробела для отступов.

  • Пишите import каждого модуля в отдельной строке

  • Располагайте все import'ы в верхней части кода перед любыми глобальными объявлениями.

  • Отделяйте блок import'ов от кода пустой строкой.

  • Скобки не отделяются пробелами с внутренней стороны. Между функцией и ее аргументами пробел не ставится.

  • Перед запятой и двоеточием пробел не ставится.

  • Всегда окружайте следующие бинарные операторы ровно одним символом пробела с каждой стороны:

  • присваивания (=, +=, -= и т. д.),

  • сравнения (==, <, >, !=, <>, <=, >=, in, not in, is, is not),

  • логические (and, or, not),

  • арифметические (+, -, *, /, //).

  • Не располагайте несколько инструкций в одной строке. Разнесите их по разным строкам.

Комментарии:

  • Комментарии, противоречащие коду, хуже, чем их отсутствие.

  • Располагайте однострочные комментарии после кода в той же строке и отделяйте их от кода не менее чем двумя пробелами. Комментарии должны начинаться с # и одного пробела.

Имена:

  • Не используйте символы `l', `O', и `I' как имена переменных. В некоторых шрифтах они могут быть очень похожи на цифры.

  • Имена переменных и функций должны содержать только маленькие буквы. Слова разделяются символами подчеркивания.

  • Имена констант должны содержать только заглавные буквы. Слова разделяются символами подчеркивания.

  • Давайте переменным говорящие английские имена, не используйте транслит.

Функции:

  • Разделяйте определения функций двумя пустыми строками. Отделяйте определения функций от основного кода двумя пустыми строками до и после.

  • Разделяйте тело функции на логические части одной пустой строкой.

  1. Программа на Python. Ввод-вывод данных. Основные алгоритмические конструкции. Последовательные действия.

Программа на Python, с точки зрения интерпретатора, состоит из логических строк. Одна логическая строка, как правило, располагается в одной физической, но длинные логические строки можно (с помощью обратной косой черты) разбить на несколько физических.

Ввод и вывод данных

Для считывания строки со стандартного ввода используется функция input(), которая считывает строку с клавиатуры и возвращает значение считанной строки, которое сразу же можно присвоить переменным:

a = input()

Правда, функция input возвращает текстовую строку. Если нужно сделать так, чтобы переменные имели целочисленные значения, то сразу же после считывания выполним преобразование типов при помощи фунцкии int, и запишем новые значения:

a = int(a)

Можно объединить считывание строк и преобразование типов, если вызывать функцию int для того значения, которое вернет функция input():

a = int(input())

Сложнее считать значения переменных, если они записаны в отдельной строке. Здесь нужно применить к считанной строке метод split(), который разделяет строку на части по одному или двум пробелам. Затем результат выполнения этой функции присвоим кортежу из двух или нескольких чисел. Например, если в строке вводятся два числа через пробел, то считать их можно так:

a, b = input().split()

a = int(a)

b = int(b)

Можно также сразу же преобразовать считанные значения в числовой тип (например, int), если воспользоваться функцией map, которая применяет к каждому элементу списка заданную функцию (для преобразования к типу int нужно, соответственно, задать функцию int для применения к каждому элементу). Для начала можно просто запомнить эту конструкцию:

a, b, c = map(int, input().split())

Для вывода данных используется функция print может выводить не только значения переменных, но и значения любых выражений. Например, допустима запись print(2 + 2 ** 2). Также при помощи функции print можно выводить значение не одного, а нескольких выражений, для этого нужно перечислить их через запятую:

a = 1

b = 2

print(a, '+', b, '=', a + b)

Основные алгоритмические конструкции:

  • Последовательность операторов. Последовательные действия описываются последовательными строками программы. Стоит, правда, добавить, что в программах важны отступы, поэтому все операторы, входящие в последовательность действий, должны иметь один и тот же отступ.

  • Оператор условия и выбора. Разумеется, одними только последовательными действиями в программировании не обойтись, поэтому при написании алгоритмов используется еще и ветвление.

  • Циклы. С помощью цикла можно описать повторяющиеся действия. В Python имеются два вида циклов: цикл while (выполняется некоторое условие) и цикл for (всех значений последовательности).

  • Функции. Программист может определять собственные функции двумя способами: с

помощью оператора def или прямо в выражении, посредством lambda.

  • Исключения. В современных программах передача управления происходит не всегда так гладко, как в описанных выше конструкциях. Для обработки особых ситуаций (таких как деление на ноль или попытка чтения из несуществующего файла) применяется механизм исключений.

  1. Идентификаторы, комментарии, логические и физические строки.

Индефикаторы

Идентификаторы в Python это имена используемые для обозначения переменной, функции, класса, модуля или другого объекта. Идентификатор должен начинаться с буквы (от a до Z) или со знака подчеркивания (_), после которых может идти произвольное количество букв, знаков подчеркивания и чисел (от 0 до 9).

В Python недопустимо использование знаков препинания или специальных символов, таких как @, $ или % в качестве идентификаторов. Кроме того, Python чувствителен к регистру, то есть cat и Cat это два разных имени.

В Python существует следующая договоренность для названия идентификаторов:

  • Имена классов начинаются с большой буквы, все остальные идентификаторы - с маленькой.

  • Использования знака подчеркивания в качестве первого символа идентификатора означает, что данный идентификатор является частным (закрытым от использования вне класса).

  • Если идентификатор начинается и заканчивается двумя знаками подчеркивания (например, __init__ ) это означает, что он является специальным именем, определенным внутри языка.

Комментарии

Символ решетки (#) в Python обозначает начало комментария. Любые символы после решетки и до конца строки считаются комментариями и игнорируются интерпретатором.

Логические и физические строки

Одна из первых особенностей Python, которая бросается в глаза программистам, начинающим изучать этот язык программирования, это то, что в нем не используются скобки для обозначения отдельных блоков кода. Вместо них в Python используются двоеточия и отступы.

Количество пробелов в отступах произвольно и выбирается каждым на свое усмотрение, однако по договоренности равняется четырем пробелам. При этом отступ всего блока должен быть одинаковым.

Таким образом, в Python несколько строк кода с одинаковым отступом будут формировать отдельный блок кода.

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

Вот одна логическая и физическая линия:

my_list = [1, 2, 3, 4]

Вот одна логическая строка на двух физических линиях:

my_list = [1, 2,

3, 4]

Логическая строка создается из одной или нескольких физических строк используя явные или неявные правила объединения строк. Физическая строка — это последовательность символов завершающаяся символами перевода строки (end-of-line sequence)

  1. Встроенные типы данных. Целые и вещественные типы данных.

Встроенные типы данных в Python

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

К стандартным типам данных в Python относят:

  • Числа (Numbers)

  • Строка (String)

  • Список (List)

  • Кортеж (Tuple)

  • Словарь (Dictionary)

Целый тип данных

В Python 3 фактически нет предела длины целочисленного значения. Конечно, оно ограничено объемом доступной в системе памяти (как и любые другие типы данных), но в остальном — может быть таким длинным, как нужно.

Python интерпретирует последовательность десятичных цифр без префикса как десятичное число:

Базовый тип целого числа в Python, вне зависимости от используемого основания, называется int.

c = 9000

Вещественные типы данных

Действительные или вещественные числа придуманы для измерения непрерывных величин. В отличие от математического контекста, ни один из языков программирования не способен реализовать бесконечные или иррациональные числа, поэтому всегда есть место приближению с определенной точностью, из-за чего возможны такие ситуации.

В плане записи, float ничем не отличаются от int.

pi = 3.14

  1. Типы: комплексные числа, логический

complex (комплексное число)

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

В Python комплексные числа задаются с помощью функции complex():

# пример комплексного числа

z = complex(1, 2)

print(z)

> (1+2j)

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

bool (логический тип данных)

В каком-то смысле наиболее простой и самый понятный из всех типов данных. У bool есть всего два значения:

  • Истина (True);

  • Ложь (False).

# пример bool

pravda = True

lozh = False

Переменные логического типа нужны для реализации ветвлений, они применяются для установки флажков, фиксирующих состояния программы, а также используются в качестве возвращаемых значений для функций, названия которых, зачастую, начинаются на "is" (isPrime, isEqual, isDigit). То есть тех, которые, на человеческом языке, отвечали бы на вопрос одним словом "Да" или "Нет".

  1. Встроенные функции для работы с разными типами данных.

  • int(<объект>)

  • float(<объект>)

  • bin(<число>) – преобразует десятичное число в бинарное

  • oct(<число>) – преобразует десятичное число в восьмеричное

  • hex(<число>) – преобразует десятичное число в шестнадцатеричное

  • round(<число>[, <кол-во знаков после точки>]) – округляет abs(<число>)

  • pow(<число>, <степень> [, <делитель>]) – возводит в степень. Если указан 3-й параметр, то возвращает остаток от деления результата на третий параметр

  • max(<список чисел через запятую>)

  • min(<список чисел через запятую>)

  • sum(<последовательность>[,

  • <начальное значение>])

  • divmod(x, y) – возвращает кортеж из двух значений

  • (x//y, x%y)

  1. Возможности модуля math

Модуль math – один из наиважнейших в Python. Этот модуль предоставляет обширный функционал для работы с числами.

# подключение модуля

import math

math.<имя функции>

или

from math import *

<имя функции>

Возможности:

  • Константы: pi, e

  • sin(), cos(), tan()

  • asin(), acos(), atan()

  • exp()

  • log( <число>[, <основание>])

  • log2()

  • log10()

  • sqrt()

  • ceil() – округление до ближайшего большего целого

  • floor() – округление до ближайшего меньшего целого

  • factorial()

Источник: https://studfile.net/preview/16688519/