Два метода не могут иметь одно и то же имя в 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.

1. Классификатор машинного обучения на Python

2. Шпаргалка по Python Scikit-Learn

3. Инструменты машинного обучения

4. Библиотеки Python для анализа данных и машинного обучения

5. Чат-бот на Python

6. Коллекции Python

7. Модули Python

8. Навыки разработчика Python

9. Вопросы и ответы на собеседовании по ООП

10. Резюме для разработчика Python

11. Исследовательский анализ данных в Python

12. Игра в змейку с модулем Python Turtle

13. Заработная плата разработчика Python

14. Анализ главных компонентов

15. Python против C ++

16. Учебник по Scrapy

17. Python SciPy

18. Метод регрессии наименьших квадратов

19. Памятка по Jupyter Notebook

20. Основы Python

21. Программы шаблонов Python

22. Веб-парсинг с помощью Python

23. Python Decorator

24. IDE Python Spyder

25. Мобильные приложения, использующие Kivy на Python

26. 10 лучших книг для изучения и практики Python

27. Робот-фреймворк на Python

28. Змейка на Python с использованием PyGame

29. Интервью с Django: вопросы и ответы

30. 10 лучших приложений Python

31. Хеш-таблицы и хеш-карты в Python

32. Python 3.8

33. Машина опорных векторов

34. Учебник по Python

Первоначально опубликовано на https://www.edureka.co 15 августа 2019 г.