Пособие по Python для начинающих: от установки до первых проектов
Практическое руководство по основам программирования на Python с пошаговыми инструкциями, примерами кода и упражнениями. Материал структурирован для эффективного старта без лишней теории.
Почему Python?
Простота синтаксиса
Chitko читаемый код, похожий на псевдокод, ускоряет обучение и понимание.
Универсальность
Веб-разработка, анализ данных, машинное обучение, автоматизация.
Большое сообщество
Множество библиотек, документации и готовых решений.
"Python — это не просто язык программирования, это философия читаемости и простоты, которая делает код не только функциональным, но и элегантным."
1. Установка Python
Установка Python — первый шаг. Рекомендуется версия 3.8 или новее. Ниже инструкции для основных операционных систем.
Windows
- Скачайте установщик с python.org
- Запустите установщик
- Обязательно отметьте "Add Python to PATH"
- Выберите "Customize installation" → "Install for all users"
macOS
- Скачайте .pkg с python.org
- Запустите установщик
- Или используйте Homebrew:
brew install python
Linux
- Ubuntu/Debian:
sudo apt install python3 - Fedora:
sudo dnf install python3 - Arch:
sudo pacman -S python
Важное замечание
При установке на Windows обязательно поставьте галочку "Add Python to PATH". Это позволит запускать python из командной строки.
# Проверка установки в терминале/командной строке
python --version
# Ожидаемый вывод: Python 3.x.x
python -c "print('Успешно!')"
2. Первая программа
Создание файла .py
Любой текстовый редактор или IDE (PyCharm, VS Code) подойдет. Сохраните файл с расширением .py.
hello_world.py
# Это комментарий
print("Hello, World!")
Запуск программы
-
Терминал:
python hello_world.py - IDE: Кнопка "Run" или Shift+F10
-
Интерактивный режим:
python→ ввод команд по одной
Совет
Используйте интерактивный режим (REPL) для быстрой проверки небольших фрагментов кода.
Введите help() для доступа к встроенной справке.
3. Основные концепции
Переменные и типы данных
Python динамически типизирован: тип переменной определяется автоматически при присваивании.
# Присваивание
name = "Анна" # str (строка)
age = 28 # int (целое число)
height = 1.65 # float (число с плавающей точкой)
is_student = True # bool (логический)
# Проверка типа
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
# Комментарии — это часть документации
Условные операторы
Конструкции if/elif/else для принятия решений.
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "F"
print(f"Оценка: {grade}") # f-строка (форматирование)
Циклы
Цикл for
Итерация по последовательностям (списки, строки, диапазоны).
# Диапазон
for i in range(5): # 0,1,2,3,4
print(i)
# Список
fruits = ["яблоко", "банан", "вишня"]
for fruit in fruits:
print(fruit)
Цикл while
Повторение, пока условие истинно.
count = 0
while count < 3:
print(count)
count += 1
Функции
Функции — это блоки кода, которые выполняют определенную задачу и могут быть вызваны многократно.
def greet(name, greeting="Привет"):
"""Возвращает приветствие для указанного имени."""
return f"{greeting}, {name}!"
# Вызов функции
message = greet("Мария")
print(message) # "Привет, Мария!"
# Позиционные и именованные аргументы
print(greet(greeting="Здравствуйте", name="Иван"))
4. Работа с файлами
Python предоставляет простой API для операций с файлами: чтение, запись, добавление.
Чтение файла
# Способ 1: чтение всего файла
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
# Способ 2: построчное чтение (память-эффективно)
with open('file.txt', 'r', encoding='utf-8') as f:
for line in f:
print(line.strip()) # strip() удаляет \n
Запись в файл
# 'w' — перезапись (существующий файл будет удален)
with open('output.txt', 'w', encoding='utf-8') as f:
f.write("Первая строка\n")
f.write("Вторая строка\n")
# 'a' — добавление в конец
with open('output.txt', 'a', encoding='utf-8') as f:
f.write("Добавленная строка\n")
# 'x' — создание нового файла (ошибка, если существует)
with open('new_file.txt', 'x', encoding='utf-8') as f:
f.write("Новый файл")
Контекстный менеджер with: автоматически закрывает файл после завершения блока, даже при ошибках.
Всегда используйте его для работы с файлами.
5. Создание классов (ООП)
Классы позволяют создавать собственные типы данных, инкапсулируя данные и поведение.
class Dog:
"""Класс для представления собаки."""
# Атрибут класса (общий для всех экземпляров)
species = "Canis lupus"
def __init__(self, name, age):
"""Инициализатор (конструктор)"""
self.name = name # атрибуты экземпляра
self.age = age
def bark(self):
"""Метод (поведение)"""
return f"{self.name} говорит: Гав!"
def __str__(self):
"""Строковое представление объекта"""
return f"Собака {self.name}, {self.age} лет"
# Создание экземпляра (объекта) класса
my_dog = Dog("Шарик", 3)
# Доступ к атрибутам и методам
print(my_dog.name) # Шарик
print(my_dog.bark()) # Шарик говорит: Гав!
print(my_dog) # Собака Шарик, 3 лет
print(Dog.species) # Canis lupus
Наследование
Создание нового класса на основе существующего.
class GoldenRetriever(Dog):
def fetch(self, item):
return f"{self.name} принес {item}!"
Инкапсуляция
Сокрытие внутренней реализации. Используйте _ для "защищенных" атрибутов.
class BankAccount:
def __init__(self, balance):
self.__balance = balance # приватный атрибут
def deposit(self, amount):
self.__balance += amount
6. Упражнения для закрепления
Упражнение 1: Калькулятор
Напишите программу, которая запрашивает у пользователя два числа и операцию (+, -, *, /), затем выводит результат. Обработайте деление на ноль.
Показать решение
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
op = input("Введите операцию (+, -, *, /): ")
if op == '+':
result = num1 + num2
elif op == '-':
result = num1 - num2
elif op == '*':
result = num1 * num2
elif op == '/':
if num2 == 0:
result = "Ошибка: деление на ноль"
else:
result = num1 / num2
else:
result = "Неверная операция"
print(f"Результат: {result}")
Упражнение 2: Работа с файлом
Создайте файл notes.txt, запишите в него 5 строк с любым текстом.
Затем прочитайте файл и выведите содержимое в обратном порядке (с последней строки).
Показать решение
# Запись
lines = [
"Первая строка",
"Вторая строка",
"Третья строка",
"Четвертая строка",
"Пятая строка"
]
with open('notes.txt', 'w', encoding='utf-8') as f:
for line in lines:
f.write(line + '\n')
# Чтение и вывод в обратном порядке
with open('notes.txt', 'r', encoding='utf-8') as f:
all_lines = f.readlines()
for line in reversed(all_lines):
print(line.strip())
Упражнение 3: Класс "Книга"
Создайте класс Book с атрибутами title, author, year.
Добавьте метод info(), возвращающий строку с информацией о книге.
Показать решение
class Book:
def __init__(self, title, author, year):
self.title = title
self.author = author
self.year = year
def info(self):
return f'"{self.title}" ({self.year}), {self.author}'
# Пример использования
book1 = Book("1984", "Джордж Оруэлл", 1949)
print(book1.info()) # "1984" (1949), Джордж Оруэлл
7. Дальнейшие шаги
Что изучать дальше?
-
Стандартная библиотека: модули
os,sys,datetime,json -
Обработка ошибок:
try/except/finally - Контейнеры: списковые включения (list comprehensions), словари, множества
-
Популярные библиотеки:
requests(HTTP),pandas(данные),flask(веб)
Ресурсы для практики
- Официальный учебник Python (на английском)
- Яндекс Практикум (курсы на русском)
- LeetCode (задачи по алгоритмам)
- Python для начинающих (статьи на русском)