Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: Python, operator overloading, addition, data types, __add__

Какие типы данных поддерживают операцию сложения (+) в Python?

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

Короткий ответ

Оператор сложения (+) в Python поддерживается для чисел (int, float, complex), строк (str), списков (list), кортежей (tuple) и некоторых других типов, таких как set (через оператор |). Для пользовательских классов можно определить метод __add__.

Длинный ответ

Оператор сложения в Python

Оператор + в Python является перегружаемым, то есть его поведение зависит от типов операндов. Он не ограничивается только числами, а поддерживается для нескольких встроенных типов данных.

Числовые типы

Для чисел (int, float, complex) оператор + выполняет арифметическое сложение. Например:

print(5 + 3)      # 8
print(2.5 + 1.5)  # 4.0
print(1+2j + 3+4j) # (4+6j)

Строки

Для строк (str) оператор + выполняет конкатенацию, то есть объединение строк:

print('Hello, ' + 'world!')  # Hello, world!

Списки и кортежи

Для списков (list) и кортежей (tuple) оператор + также выполняет конкатенацию, создавая новый список или кортеж:

print([1, 2] + [3, 4])  # [1, 2, 3, 4]
print((1, 2) + (3, 4))  # (1, 2, 3, 4)

Множества

Для множеств (set) оператор + не поддерживается, но для объединения множеств используется оператор |:

print({1, 2} | {3, 4})  # {1, 2, 3, 4}

Пользовательские классы

Для пользовательских классов можно определить метод __add__, чтобы перегрузить оператор +. Например:

class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __add__(self, other):
        return Vector(self.x + other.x, self.y + other.y)

v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2
print(v3.x, v3.y)  # 4 6

Вывод

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

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • Python

    Python

Ключевые слова

#Python

#operator overloading

#addition

#data types

#__add__

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.