Два метода не могут иметь одно и то же имя в Python. Перегрузка методов в Python - это функция, которая позволяет одному и тому же оператору иметь разные значения. В этой статье мы рассмотрим функцию перегрузки методов в Python и то, как она используется для перегрузки методов, в следующей последовательности:
- Что такое перегрузка?
- Перегрузка метода в Python
- Примеры перегрузки метода
Что такое перегрузка?
Перегрузка - это способность функции или оператора вести себя по-разному в зависимости от параметров, которые передаются в функцию, или операндов, с которыми работает оператор.
Некоторые из преимуществ использования перегрузки:
- Перегрузка метода способствует повторному использованию. Например, вместо написания нескольких методов, которые лишь незначительно отличаются, мы можем написать один метод и перегрузить его.
- Перегрузка также улучшает ясность кода и устраняет сложность.
Перегрузка - очень полезная концепция. Однако у него есть ряд недостатков.
Перегрузка метода в Python
В Python вы можете создать метод, который можно вызывать по-разному. Итак, у вас может быть метод с нулевым, одним или несколькими параметрами. В зависимости от определения метода мы можем вызывать его с нулем, одним или несколькими аргументами.
Для одного метода или функции количество параметров может быть указано вами. Этот процесс вызова одного и того же метода разными способами называется перегрузкой метода.
Примеры перегрузки метода
Теперь, когда вы знаете, что такое перегрузка методов в Python, давайте рассмотрим пример. Здесь мы создаем класс с одним методом Hello (). Первый параметр этого метода имеет значение None. Это даст нам возможность вызывать его с параметром или без него.
Объект также создается на основе класса, и мы будем вызывать его метод, используя ноль и один параметр.
Пример 1:
#!/usr/bin/env python class
Person: def
Hello(self, name=None): if
name is
not
None: print('Hello '
+
name) else: print('Hello ') # Create instance obj =
Person() # Call the method obj.Hello() # Call the method with a parameter obj.Hello('Edureka')
Вывод:
Hello Hello Edureka
Чтобы прояснить перегрузку метода, теперь мы можем вызвать метод Hello () двумя способами:
obj.Hello() obj.Hello('Edureka')
В приведенном выше примере мы создали метод, который можно вызывать с меньшим количеством аргументов, чем разрешено. Кроме того, он не ограничен двумя переменными, и ваш метод может иметь больше переменных, которые являются необязательными.
Теперь давайте рассмотрим еще один пример, чтобы понять перегрузку методов в Python.
Пример 2:
В следующем примере мы перегрузим метод области. Если аргумента нет, он возвращает 0. И, если у нас есть один аргумент, он возвращает квадрат значения и предполагает, что вы вычисляете площадь квадрата. Кроме того, если у нас есть два аргумента, он возвращает произведение двух значений и предполагает, что вы вычисляете площадь прямоугольника.
# class class
Compute: # area method def
area(self, x =
None, y =
None): if
x !=
None
and
y !=
None: return
x *
y elif
x !=
None: return
x *
x else: return
0 # object obj =
Compute() # zero argument print("Area Value:", obj.area()) # one argument print("Area Value:", obj.area(4)) # two argument print("Area Value:", obj.area(3, 5))
Приведенный выше код даст нам следующий вывод:
Area Value: 0 Area Value: 16 Area Value: 15
На этом мы подошли к концу нашей статьи. Надеюсь, вы поняли, что такое перегрузка методов в Python и как это работает.
Если вы хотите ознакомиться с другими статьями о самых популярных технологиях на рынке, таких как искусственный интеллект, DevOps, этический взлом, посетите официальный сайт Edureka.
Обязательно обратите внимание на другие статьи в этой серии, которые объяснят различные другие аспекты Python и Data Science.
4. Библиотеки Python для анализа данных и машинного обучения
17. Python SciPy
20. Основы Python
23. Python Decorator
32. Python 3.8
Первоначально опубликовано на https://www.edureka.co 15 августа 2019 г.