5.2. Язык программирования Python
Раздел 5. Основы алгоритмизации и программирования (6 часов)
Знакомство с Python
Python — современный язык программирования общего назначения, который широко используется в науке о данных, веб-разработке, искусственном интеллекте, автоматизации и обучении программированию.
Python — интерпретируемый язык: программа выполняется построчно без предварительной компиляции в машинный код.
Особенности Python:
- Простой синтаксис — код читается почти как текст на естественном языке
- Свободное использование — открытый исходный код, бесплатная лицензия
- Кроссплатформенность — работает на Windows, macOS, Linux
- Большая стандартная библиотека — множество готовых модулей
- Динамическая типизация — тип переменной определяется во время выполнения программы
Набор инструментов программиста
Для создания и запуска программ необходимы три основных инструмента:
| Инструмент | Назначение |
|---|---|
| Редактор текста | Программа для ввода, редактирования и форматирования текста программы |
| Транслятор | Преобразует программы с языка программирования в машинный язык. Делится на: компилятор (переводит весь текст сразу) и интерпретатор (переводит и выполняет построчно) |
| Отладчик | Инструмент для поиска и исправления ошибок в программе |
Режимы работы в Python:
| Режим | Описание | Пример |
|---|---|---|
| Интерактивный | Каждая команда выполняется сразу после ввода. Удобно для экспериментов. | >>> 2 + 3 |
| Программный | Программа записывается в файл с расширением .py и запускается целиком. | Файл hello.py |
Алфавит и служебные слова
Алфавит языка Python:
| Группа | Символы |
|---|---|
| Латинские прописные буквы | A, B, C, …, X, Y, Z |
| Латинские строчные буквы | a, b, c, …, x, y, z |
| Арабские цифры | 0, 1, 2, …, 8, 9 |
| Специальные символы | + − * / = < > ( ) [ ] { } # : ; . , и др. |
Неделимые элементы (составные символы):
| Символы | Назначение |
|---|---|
==, != | Равно, не равно |
>=, <= | Больше или равно, меньше или равно |
# | Начало комментария (до конца строки) |
"""...""", '''...''' | Многострочный комментарий / строка |
Служебные слова (ключевые слова):
| Слово | Значение | Слово | Значение |
|---|---|---|---|
and | И | not | НЕ |
or | ИЛИ | True | Истина |
if | Если | False | Ложь |
elif | Иначе если | for | Для (цикл) |
else | Иначе | while | Пока (цикл) |
break | Прервать цикл | input | Ввод |
int | Целый тип | float | Вещественный |
str | Строковый | print | Печать |
list | Список |
score, Score и SCORE — это три разных имени.Правила именования:
- Имя может состоять из букв, цифр и символа подчёркивания
_ - Имя должно начинаться с буквы или символа подчёркивания
- Имя не может начинаться с цифры
- Имя не должно быть служебным словом языка
| Правильные имена | Неправильные имена | Почему неправильно |
|---|---|---|
x, velichina, polnaja_summa, s25, _k1 | 2as | Начинается с цифры |
polnaja summa | Содержит пробел | |
and | Является служебным словом | |
Domby&Son | Содержит символ & |
Оператор присваивания
Основная операция — присваивание переменной значения:
имя_переменной = значение_или_выражение
Знак = здесь не означает «равно», а означает «становится равным».
Примеры:
a = 25 # переменной a присваивается значение 25 name = 'Анна' # переменной name присваивается строка pi = 3.14 # вещественное число flag = True # логическое значение
Ввод и вывод данных
Вывод данных: print()
Оператор print() выводит данные на экран:
print('Привет, мир!') # вывод строки
print('Результат:', 2 + 3) # вывод выражения
print(1, 2, 3) # несколько значений через пробел
По умолчанию между значениями вставляется пробел. Его можно изменить параметром sep:
print(1, 2, 3, sep='-') # Результат: 1-2-3 print(1, 2, 3, sep='') # Результат: 123
Формат вывода
Форматирование позволяет задать количество позиций для выводимого числа:
a = 1/3
b = 1/9
print('{:7.3f} {:7.3f}'.format(a, b))
# Результат: 0.333 0.111
r = 5.4
c = 2 * 3.14 * r
s = 3.14 * r * r
print('Длина окружности c={:6.4f}'.format(c))
print('Площадь круга s={:6.4f}'.format(s))
Ввод данных: input()
Оператор input() считывает строку с клавиатуры:
name = input('Как тебя зовут? ')
print('Привет, ', name)
input() всегда возвращает строку (тип str). Чтобы получить число, нужно преобразовать тип:n = int(input()) # ввод целого числа
x = float(input()) # ввод вещественного числа
n = int(input('Введите n: ')) # ввод с приглашением
Ввод нескольких значений
Для ввода нескольких чисел в одной строке используют функции split() и map():
a, b = map(int, input().split()) # Пользователь вводит: 5 10 # Результат: a = 5, b = 10
💻 Первая программа
Программа вычисляет длину окружности и площадь круга:
pi = 3.14159
r = float(input('Введите радиус: '))
c = 2 * pi * r
s = pi * r * r
print('Длина окружности:', round(c, 2))
print('Площадь круга:', round(s, 2))
Пример ввода: 5.4
Пример вывода:
Длина окружности: 33.93 Площадь круга: 91.61
Арифметические операции
| Операция | Знак | Пример | Результат |
|---|---|---|---|
| Сложение | + | 7 + 3 | 10 |
| Вычитание | - | 7 - 3 | 4 |
| Умножение | * | 7 * 3 | 21 |
| Деление | / | 7 / 2 | 3.5 |
| Целочисленное деление | // | 7 // 2 | 3 |
| Остаток от деления | % | 7 % 2 | 1 |
| Возведение в степень | ** | 2 ** 3 | 8 |
**, затем *, /, //, %, затем +, -. Как в математике, скобки () выполняются первыми.🧪 Практическое задание
Определите результат выражений без компьютера:
1) 15 // 4 2) 15 % 4 3) 2 ** 10 4) 17 / 5
Стандартные функции
Python предоставляет множество встроенных функций:
| Функция | Назначение | Пример | Результат |
|---|---|---|---|
abs(x) | Модуль числа | abs(-5) | 5 |
round(x) | Округление до ближайшего целого | round(3.7) | 4 |
round(x, n) | Округление до n знаков после запятой | round(3.14159, 2) | 3.14 |
int(x) | Преобразование к целому (отбрасывает дробную часть) | int(3.7) | 3 |
float(x) | Преобразование к вещественному | float(5) | 5.0 |
len(s) | Длина строки (количество символов) | len('Привет') | 6 |
Функции из модуля math:
Для использования функций модуля необходимо подключить его командой:
from math import *
| Функция | Назначение | Пример |
|---|---|---|
sqrt(x) | Квадратный корень | sqrt(25) = 5.0 |
pow(x, n) | Возведение в степень | pow(2, 10) = 1024.0 |
Функции случайных чисел:
from random import *
| Функция | Назначение | Пример |
|---|---|---|
random() | Вещественное случайное число от 0 до 1 | random() → 0.728… |
randint(a, b) | Целое случайное число от a до b включительно | randint(1, 6) → 4 |
🔬 Исследование функций round и int
Выполните программу для разных значений x. Каков результат?
x = float(input('Введите x: '))
print('Округление:', round(x))
print('Целая часть:', int(x))
Строковый тип данных
Строка — это последовательность символов, заключённая в кавычки:
s1 = 'Привет' # одинарные кавычки s2 = "Мир" # двойные кавычки s3 = '''Многострочная строка''' # тройные кавычки
Операции со строками:
| Операция | Пример | Результат |
|---|---|---|
| Сцепление (конкатенация) | 'Привет' + ' ' + 'мир' | 'Привет мир' |
| Повторение | 'аб' * 3 | 'абабаб' |
| Длина строки | len('Привет') | 6 |
| Обращение по индексу | 'Привет'[0] | 'П' |
| Срез (slice) | 'Привет'[0:3] | 'При' |
-1. Срез [a:b] возвращает символы с позиции a по (b−1).Полезные функции для строк:
| Функция | Назначение | Пример |
|---|---|---|
ord(c) | Код символа в таблице Unicode | ord('A') = 65 |
chr(n) | Символ по его коду | chr(65) = 'A' |
len(s) | Длина строки | len('abc') = 3 |
a = input('Введите букву: ')
kod = ord(a)
print('Код буквы:', kod)
b = chr(kod - 1) + a + chr(kod + 1)
print('Соседние буквы:', b)
Логический тип данных
Величины логического типа принимают два значения: True (истина) и False (ложь).
Логические значения получаются в результате операций сравнения:
| Операция | Смысл | Пример | Результат |
|---|---|---|---|
== | Равно | 5 == 5 | True |
!= | Не равно | 5 != 3 | True |
> | Больше | 5 > 3 | True |
< | Меньше | 5 < 3 | False |
>= | Больше или равно | 5 >= 5 | True |
<= | Меньше или равно | 5 <= 3 | False |
В Python можно записывать двойные неравенства:
x = 5
if 1 < x < 10:
print('x находится между 1 и 10')
False < True. Ложь соответствует 0, Истина — 1.