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

Почему Python?

Прежде чем мы перейдем к установке, давайте поймем, почему Python стал таким популярным.

  • Простота синтаксиса. Python читается почти как английский язык. Это помогает быстрее разобраться и писать код, который будет легко поддерживать.
  • Большое сообщество. В сети вы найдёте тысячи статей, форумов и учебных материалов, где можно найти ответ на любой вопрос.
  • Богатая экосистема. Библиотеки на все случаи жизни: для веб-разработки (Django, Flask), машинного обучения (TensorFlow, PyTorch), работы с базами данных (SQLAlchemy) и многое другое.
  • Кроссплатформенность. Python работает на Windows, Mac и Linux, так что не важно, на какой ОС вы работаете.

Установка Python

Прежде чем начать программировать, нам нужно установить Python на ваш компьютер.

Проверка установленного Python

Если у вас уже установлен Python, можно это проверить в терминале или командной строке:

python --version

Если вы видите версию Python, например, что-то вроде Python 3.11.5, значит, у вас всё уже готово для работы. Если команда не сработала или версия ниже 3.x, то продолжаем.

Установка Python с официального сайта

Переходим на официальный сайт Python и скачиваем последнюю версию для вашей операционной системы (Windows, macOS, Linux).

На Windows

Загрузите установочный файл .exe и запустите его. Важно: на экране установки отметьте галочку Add Python to PATH, чтобы можно было запускать Python из любой директории через командную строку.

На macOS

Можно установить Python через Homebrew. Для этого откройте Терминал и выполните:

brew install python

На Linux

В большинстве дистрибутивов Python уже установлен. Если же нет, можно установить его через менеджер пакетов:

sudo apt install python3

Проверка установки

Когда установка завершена, откройте терминал или командную строку и снова выполните:

python --version

Вы должны увидеть номер установленной версии Python.

Настройка виртуального окружения

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

Создание виртуального окружения

Python имеет встроенный инструмент для создания виртуальных окружений. В корневой папке вашего проекта выполните:

python -m venv myenv

Здесь myenv — это имя вашего окружения, вы можете выбрать любое другое.

Активация окружения

На Windows

myenv\Scripts\activate

На macOS и Linux

source myenv/bin/activate

После активации вы увидите в командной строке название окружения в скобках, например: (myenv). Это значит, что ваше виртуальное окружение активно, и все устанавливаемые библиотеки будут сохраняться внутри него.

Установка библиотек

Теперь можно устанавливать любые библиотеки, не беспокоясь, что они будут конфликтовать с другими проектами. Например:

pip install requests

Библиотека requests установится только в ваше виртуальное окружение.

Деактивация окружения

Когда вы закончите работу, можете выйти из окружения командой:

deactivate

Первый скрипт на Python

Теперь, когда Python установлен и настроено окружение, давайте напишем нашу первую программу. Это классический пример — программа «Hello, World!».

Создайте новый файл с расширением .py, например, hello.py.

Откройте его в текстовом редакторе (Visual Studio Code, Sublime Text, любой другой).

print("Hello, World!")

Сохраните файл и выполните его в терминале:

python hello.py

Вы должны увидеть на экране: Hello, World!.

Краткий обзор синтаксиса

Перед тем как перейти к более сложным темам, давайте рассмотрим несколько основных понятий в Python.

Переменные

В Python переменные создаются автоматически при присваивании им значений:

name = "Alice"
age = 25

Операции с числами

  • Сложение: 5 + 3
  • Вычитание: 10 - 4
  • Умножение: 2 * 6
  • Деление: 8 / 2

Строки

Можно работать с текстом и строками:

greeting = "Hello"
name = "Bob"
print(greeting + ", " + name)  # Вывод: Hello, Bob

Списки

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

fruits = ["apple", "banana", "cherry"]
print(fruits[0])  # Вывод: apple

Функции

Если вы хотите многократно использовать код, поместите его в функцию:

def greet(name):
    return "Hello, " + name

print(greet("Alice"))  # Вывод: Hello, Alice

Динамическая типизация в Python

Одной из ключевых особенностей Python является динамическая типизация. Это значит, что при присваивании значений переменным не нужно явно указывать их тип — Python сам определяет тип данных, исходя из значения. Например:

number = 10         # переменная с целым числом
name = "Alice"      # переменная со строкой
is_active = True    # переменная с логическим значением

Вы можете даже изменить тип переменной в ходе выполнения программы:

value = 42
print(type(value))  # Вывод: <class 'int'>

value = "Привет, мир!"
print(type(value))  # Вывод: <class 'str'>

Преимущества и недостатки динамической типизации

Динамическая типизация делает Python удобным и гибким для быстрой разработки. Вот основные плюсы:

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

Однако у динамической типизации есть и минусы:

  • Риск ошибок: ошибка в типах может быть обнаружена только во время выполнения, что иногда делает отладку сложнее.
  • Пониженная производительность: из-за постоянного определения типов Python работает медленнее, чем языки со статической типизацией, такие как Java или C++.

Использование аннотаций типов

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

def greet(name: str) -> str:
    return "Hello, " + name

Здесь аннотация name: str показывает, что функция ожидает строку в качестве аргумента name, а -> str указывает, что функция возвращает строку.

Практический пример: Простой калькулятор на Python

Этот простой калькулятор позволяет выполнять базовые арифметические операции: сложение, вычитание, умножение и деление.

# Простой калькулятор для базовых арифметических операций

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    # Обработка деления на ноль
    if y == 0:
        return "Ошибка: деление на ноль"
    return x / y

# Функция для выбора операции
def calculator():
    print("Выберите операцию:")
    print("1. Сложение")
    print("2. Вычитание")
    print("3. Умножение")
    print("4. Деление")

    choice = input("Введите номер операции (1/2/3/4): ")

    # Проверка ввода
    if choice not in ['1', '2', '3', '4']:
        print("Некорректный ввод")
        return

    try:
        num1 = float(input("Введите первое число: "))
        num2 = float(input("Введите второе число: "))
    except ValueError:
        print("Ошибка: введено не число")
        return

    # Выполнение выбранной операции
    if choice == '1':
        print(f"Результат: {num1} + {num2} = {add(num1, num2)}")
    elif choice == '2':
        print(f"Результат: {num1} - {num2} = {subtract(num1, num2)}")
    elif choice == '3':
        print(f"Результат: {num1} * {num2} = {multiply(num1, num2)}")
    elif choice == '4':
        result = divide(num1, num2)
        print(f"Результат: {num1} / {num2} = {result}")

# Запуск программы
if __name__ == "__main__":
    calculator()

Заключение

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

Следующий шаг? Попробуйте сами написать несколько простых программ, поэкспериментируйте с переменными, списками и функциями. Чем больше практики — тем лучше!