ОСНОВНЫЕ УЧЕБНЫЕ РЕСУРСЫ
В интернете существует много различных курсов по изучению Питона, но большинство из них сосредоточены на ненужных нам темах. Что нам нужно для олимпиады - это основы программирования, синтаксис Python, знание его библиотек и знакомство с алгортимами и структурами данных
Независимо от выбранного вами курса, не забудьте, что для достижения успеха в олимпиадах объязательно нужно выше перечисленные темы. Сейчас мы как раз и познакомимся с этими темами и языком Python в целом. Не волнуйтесь, если что-то не поняли - все когда-то начинали, и после прохождения выбранных вами курсов, у вас сложится ясная цельная картина
1. УСТАНОВКА PYTHON И IDE
Лучший способ учения - практика. Именно поэтому первым делом мы скачаем Python и приложение для работы с ним.
Существует много разных IDE (Integrated Development Environment) для разработки на Python, но новичкам лучше подойдет VS Code, так как он бесплатный и лёгкий, а также на него можно установить расширения, которые вам помогут. VS Code можно скачать здесь:
https://code.visualstudio.com/downloadТакже можно работать с Python в консоли (Win + X, выбираем PowerShell или Command Line). Основное отличие между работами в IDE и консолью, помимо удобства и внешнего вида является то, что в IDE мы пишем целую программу, состоящую из множества команд. А в консоли мы даем компьютеру отдельные команды и сразу получаем ответ:
2. НАЗНАЧЕНИЕ ПЕРЕМЕННЫХ
Переменные в программировании - тоже самое, что и в математике. Только вместо x или y, мы называем переменную понятнее и можем присваивать ей любые значения, а не только числа. Например, если мы хотим хранить имя пользователя, мы назовём переменную user_name.
Чтобы обозначить переменную в Python, надо поставить знак равно между названием переменной и её значением:
Вроде бы все прямолинейно, но зачем нужны эти кавычки?
3. БАЗОВЫЕ ТИПЫ ДАННЫХ
Дело в том, что переменная в Питоне может принимать разные значения - строки, числа, символы и многое другое. Чтобы отличать тип строк от других, вокруг них надо ставить кавычки.
В Python есть 5 основных типов данных:
- Integers - целые числа
- Floating-point numbers - рациональные числа
- Strings - строки, текст
- Boolean - правда или ложь
- None - отсутсвие данных
integer = 1
floating_point = 0.995
string = "hello, world"
boolean = True
nothing = None
4. МАТЕМАТИЧЕСКИЕ ОПЕРАТОРЫ
Но что нам делать с этими переменными? - Всё что угодно, мы можем их складывать, умножать, делить, вычитать, проводидить над ними множество разных операций:
> integer1 = 10
> integer2 = 2
> integer1 + integer2
> 12
У нас получится тоже самое, что и при обычном сложении этих чисел:
Проводить эти операции можно так же, как и в математике - с помощью математических операторов: + - сложение, - - вычитание, * - умножение, / - деление
5. ПРОЦЕДУРЫ И ФУНКЦИИ
Начнем с понятия операции. Операция - это простая команда компьютеру. Он выполняет команду и, если надо, выдает ответ. Например, операцией можно назвать то же самое сложение:
> 10 + 2- операция
> 12- ответ
Чтобы не выписывать каждый раз сложные математические операции, мы можем назначить функции, принимающие нужные нам числа как аргументы:
> def sum(
num1,
num2):
result = num1 + num2
return result
> sum(10, 2)
> 12
Кодовое слово return возвращает из функции нужное нам значение - result. Мы можем присвоить его к переменной и использовать дальше в программе:
> result = sum(10, 2)
> print(result)
> 12
Если же нам надо просто выполнить какие-нибудь операции без возвращения результатов, то таким же образом мы можем назначить процедуру. Она отличается от функции только отсутствием кодового слова return. В Питоне принято писать в таком случае слово pass:
> def yell(
str):
result = str.upper()
print(result)
pass
> yell(“привет”)
ПРИВЕТ- сообщение в консоли
> None- ничего не возвратило
6. ОПЕРАТОРЫ УСЛОВИЯ
Чтобы воплощать в программе более сложную логику нам нужны операторы условия. Например, если нам нужно проверить возраст пользователя и предоставить доступ к ресурсу если ему 18 лет или больше:
> if age >=
18:
access = True
Чтобы воплотить эту логику, нужно поставить перед условием (возраст 18 лет или больше) кодовое слово if. Равно или больше обозначается знаком >=. Такие знаки схожи с математическими:
== - равно> - больше< - меньше>= - больше или равно<= - меньше или равно!= - не равноСуществуют также кодовые слова else и elif, для того, чтобы выполнить команду если начальное условие не выполняется:
> if age >=
18:
access = True
Однако в нашем конкретном случае намного проще сразу присвоить значение условия переменной access, так как условия - тоже операции, возвращающие значение True или False:
7. ОПЕРАТОРЫ ЦИКЛА
Также в любом языке программирования нам нужны операторы цикла. Они отвечают за случаи, когда нам надо повторять операцию множество раз.
Например, если мы хотим досчитать до 100, то вместо того, чтобы вручную писать команду print для каждого числа, можно просто запустить цикл и добавлять к начальному числу по единице, пока оно не станет ровно 100:
> while num <=
100:
num = num + 1
print(num)
> 1
> 2
> ...
> 100
Для создания цикла в Питоне, нужно использовать кодовые слова: while, do ... while, for. Цикл while выполняется пока правдиво условие стоящее после него (num <= 100). Цикл do ... while отличается от предыдущего только тем, что если его условие не выполняется, он все равно выполнит операцию один раз.
Цикл for выполняется определённое количество раз. Это количество мы передаем с встроенной функцией range:
> for num in range(
100):
print(num)
> 1
> 2
> ...
> 100
8. СИНТАКСИС PYTHON
Можно заметить, что назначения функций, условий и циклов внешне сходятся в том, что их содержимое сдвинуто вправо, а после названия функции, условия или цикла стоит знак двоеточия (:). Если их убрать, то Python выдаст ошибку и программа не будет работать:
> def say(
str):
print(str)
> def say(
str):
print(str)
Также видно, что для выполнения функции, после ее названия нужно поставить круглые скобки, внутри которых при необходимости вставить аргументы. А чтобы написать какое-нибудь объяснение своему коду, перед ним надо поставить хэштег (#), чтобы Питон не захотел выполнить написаное.
Такие детали у каждого языка программирования различаются. Лучший способ их запомнить - практиковаться, после недели писания на Питоне, вы научитесь ставить их автоматически.
9. ТЕСТИРОВАНИЕ И ДЕБАГ
Тестирование - это процесс проверки программного обеспечения путем его выполнения с различными входными данными и наблюдения за выходными.
Python предоставляет встроенные библиотеки для помощи в тестировании, такие как модуль unittest. Он предоставляет классы и методы, которые позволяют легко настраивать тестовые случаи и запускать их.
Дебаг является еще одним важным аспектом разработки программного обеспечения. Это процесс нахождения и устранения ошибок или багов в коде.
Python предоставляет различные инструменты для упрощения отладки кода:
1. Один из распространенных инструментов использовать операторы print для регистрации значения переменных или выходных данных на критических точках в программе
2. Еще один инструмент - это использование отладочных библиотек, таких как pdb или ipdb, которые позволяют приостанавливать выполнение в определенных точках и изучать переменные или конкретные компоненты, которые, по вашему мнению, могут вызвать проблему.
10. БИБЛИОТЕКИ PYTHON
Python является очень универсальным языком с широким спектром стандартных библиотек, доступных для разработчиков. Эти библиотеки предоставляют много функциональности, которую можно использовать в различных программах. Вот некоторые из наиболее полезных на олимпиаде библиотек Python:
1. collections - Эта библиотека предоставляет дополнительные структуры данных, отличные от встроенных. Она включает классы, такие как OrderedDict, defaultdict и Counter.
2. math - Эта библиотека предоставляет математические функции, такие как тригонометрические функции, логарифмы и константы, такие как pi и e.
3. random - Эта библиотека предоставляет функции для генерации случайных чисел. Она позволяет генерировать случайные целые числа, числа с плавающей точкой и случайные выборки из списков.
4. re - Эта библиотека предоставляет поддержку регулярных выражений. Она позволяет искать и заменять шаблоны в строках.
Это только некоторые из наиболее популярных стандартных библиотек Python. Их существует много других, которые предоставляют дополнительную функциональность для работы с базами данных, сетями, графикой и многим другим.
ЗАКЛЮЧЕНИЕ
Ну вот и все, на этом пока можно закончить изучение Питона (если вы прошли выбранный вами курс). Понимания этих тем должно хватить для олимпиады, но не стоит останавливаться на достигнутом, продолжайте практикаваться и развиваться, ведь от этого шансы успеха на олимпиаде только увеличатся.
Теперь можно перейти на самую важную часть подготовки - алгоритмы и структуры данных