W3docs

Python HOME

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

Python — высокоуровневый язык программирования общего назначения, известный своим читаемым синтаксисом и широкой областью применения: от веб-серверов и конвейеров обработки данных до моделей машинного обучения и скриптов автоматизации. Этот учебник охватывает всё необходимое, чтобы пройти путь от нуля до написания реальных программ на Python.

Что такое Python?

Python был создан Гвидо ван Россумом и впервые выпущен в 1991 году. Он:

  • Интерпретируемый — код выполняется построчно; отдельный шаг компиляции не нужен.
  • Динамически типизированный — типы переменных определяются во время выполнения, а не объявляются заранее.
  • Мультипарадигменный — поддерживает процедурный, объектно-ориентированный и функциональный стили.
  • Кроссплатформенный — один и тот же скрипт работает на Windows, macOS и Linux без изменений.

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

Зачем учить Python?

Python — хороший первый язык, потому что разрыв между «тем, что вы думаете» и «тем, что вы пишете» невелик. Рассмотрим вывод сообщения:

print("Hello, World!")

Это вся программа — никаких импортов, никаких шаблонных классов, никаких точек с запятой.

Помимо простоты, Python реально используется в продакшне:

ОбластьРаспространённые библиотеки
Веб-разработкаDjango, Flask, FastAPI
Анализ данныхPandas, NumPy
Машинное обучениеscikit-learn, TensorFlow, PyTorch
Автоматизация / скриптингстандартная библиотека (os, pathlib, subprocess)
Научные вычисленияSciPy, Matplotlib

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

Установка Python

Python доступен на python.org. Скачайте установщик для вашей операционной системы и следуйте инструкциям. На Windows включите параметр «Add Python to PATH», чтобы запускать Python из любого терминала.

Проверьте установку:

python3 --version
# Python 3.12.x  (version number will vary)

На Windows команда может быть python вместо python3.

Ваша первая программа на Python

Откройте любой текстовый редактор (или IDE, например VS Code), создайте файл с именем hello.py и добавьте:

print("Hello, World!")

Запустите его из терминала:

python3 hello.py
# Hello, World!

Интерактивная оболочка (REPL)

Python также поставляется с интерактивной оболочкой — REPL (Read-Eval-Print Loop). Введите python3 в терминале, и вы получите приглашение (>>>), где можно выполнять код немедленно:

>>> 2 + 2
4
>>> name = "Alice"
>>> print(f"Hello, {name}!")
Hello, Alice!

REPL удобен для быстрых экспериментов; скрипты (файлы .py) лучше подходят для всего, что нужно сохранить или повторить.

Основы синтаксиса Python

Python использует отступы (пробелы или табуляцию, последовательно) для определения блоков кода вместо фигурных скобок {}. Это одна из его наиболее характерных особенностей.

age = 20

if age >= 18:
    print("Adult")      # indented → inside the if block
else:
    print("Minor")      # indented → inside the else block

print("Done")           # not indented → outside the if/else

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

Смотрите Синтаксис Python для полного справочника.

Переменные и типы данных

Переменная — это имя, которое хранит значение. В Python её создают путём присваивания — ключевое слово для объявления не нужно:

x = 10          # integer
pi = 3.14159    # float
greeting = "Hi" # string
active = True   # boolean
nothing = None  # absence of a value

Основные встроенные типы Python включают:

ТипПримерОписание
int42Целые числа
float3.14Числа с плавающей точкой
str"hello"Текст
boolTrue / FalseЛогические значения
list[1, 2, 3]Упорядоченная изменяемая последовательность
tuple(1, 2, 3)Упорядоченная неизменяемая последовательность
dict{"a": 1}Пары ключ-значение
set{1, 2, 3}Неупорядоченные уникальные значения

Проверить тип значения можно с помощью type():

print(type(42))       # <class 'int'>
print(type("hello"))  # <class 'str'>
print(type([1, 2]))   # <class 'list'>

Смотрите Типы данных и Переменные для подробностей.

Управление потоком выполнения

if / elif / else

score = 75

if score >= 90:
    grade = "A"
elif score >= 75:
    grade = "B"
elif score >= 60:
    grade = "C"
else:
    grade = "F"

print(grade)  # B

Циклы for

for перебирает любую последовательность — список, строку, диапазон или любой итерируемый объект:

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
# apple
# banana
# cherry

for i in range(3):   # range(3) produces 0, 1, 2
    print(i)
# 0
# 1
# 2

Циклы while

count = 0
while count < 3:
    print(count)
    count += 1
# 0
# 1
# 2

Смотрите if / else и Циклы for для полного охвата темы.

Функции

Функция объединяет многократно используемую логику под одним именем. Определите её с помощью def, вызывайте по имени:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 8

Функции могут иметь значения параметров по умолчанию, чтобы вызывающий код мог пропускать необязательные аргументы:

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

print(greet("Alice"))            # Hello, Alice!
print(greet("Bob", "Hi"))        # Hi, Bob!

Смотрите Функции Python о параметрах, возвращаемых значениях и области видимости.

Работа со строками

Строки поддерживают богатый набор операций:

s = "python programming"

print(s.upper())          # PYTHON PROGRAMMING
print(s.title())          # Python Programming
print(s.replace("python", "great"))  # great programming
print(len(s))             # 18
print(s[0:6])             # python  (slicing)

f-строки (форматированные строковые литералы, Python 3.6+) — современный способ встраивать выражения в текст:

language = "Python"
version = 3.12
print(f"Learning {language} {version}")  # Learning Python 3.12

Смотрите Строки Python и Форматирование строк для подробностей.

Списки — основная коллекция

Список хранит упорядоченную изменяемую последовательность элементов:

colors = ["red", "green", "blue"]

colors.append("yellow")   # add to end
print(colors)             # ['red', 'green', 'blue', 'yellow']

colors.remove("green")
print(colors)             # ['red', 'blue', 'yellow']

print(colors[1])          # blue  (zero-indexed)
print(len(colors))        # 3

Смотрите Списки Python о срезах, сортировке и списковых включениях.

Модули и стандартная библиотека

Модуль — это файл Python, который импортируется для повторного использования его кода. Python поставляется с обширной стандартной библиотекой — модулями для математики, файлового ввода-вывода, работы с датами, сетевого взаимодействия и многого другого, — поэтому многие задачи не требуют сторонних пакетов.

import math
import random

print(math.sqrt(16))          # 4.0
print(math.pi)                # 3.141592653589793
print(random.randint(1, 6))   # random integer between 1 and 6

Устанавливайте сторонние пакеты с помощью pip:

pip install requests

Затем импортируйте их точно так же:

import requests

response = requests.get("https://httpbin.org/get")
print(response.status_code)  # 200

Обработка ошибок

Python сигнализирует о проблемах, возбуждая исключения. Используйте try / except, чтобы обрабатывать их корректно вместо аварийного завершения:

try:
    number = int("abc")   # this raises ValueError
except ValueError:
    print("That is not a valid number.")

# That is not a valid number.

Голый except перехватывает всё — избегайте его. Всегда указывайте конкретный тип исключения, чтобы неожиданные ошибки всё равно всплывали.

Смотрите Python try / except о else, finally и пользовательских исключениях.

Следующие шаги

На этой странице представлены основы. Остальная часть учебника углубляется в каждую тему:

Практика

Практика
Which of the following are characteristics of Python?
Which of the following are characteristics of Python?
Was this page helpful?