Почему Python допускает несколько методов с одинаковым именемPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему Python допускает несколько методов с одинаковым именем

Сообщение Anonymous »

Python не допускает перегрузку. Поэтому я ожидаю, что он разрешит только один метод класса с тем же именем. Это не тот случай.
Этот код работает без проблем. < /P>
class DoubleTest:
def __init__(self):
self._generate_thing()

def _generate_thing(self, entry):
print(entry)

def _generate_thing(self):
print("do the thing")
< /code>
Этот код дает тип Enrorr о неправильном количестве предоставленных параметров. < /p>
class DoubleTest:
def __init__(self):
self._generate_thing("test")

def _generate_thing(self, entry):
print(entry)

def _generate_thing(self):
print("do the thing")
< /code>
Calling dir (тест) показывает мне, что есть только 1 _generate_thing. Но почему мне разрешено определить это дважды и как он выбрал, какой из них использовать?

Подробнее здесь: https://stackoverflow.com/questions/795 ... -same-name
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»