Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
print(str1+" "+str2) — он выглядит комично. Я понимаю, ему пофигу как он выглядит, он умное хочет донести — но это как если бы он вещал о моде, заправив юбку в трусы.print(str1, str2) Использование антипаттерна в качестве иллюстрации — такое себе.Вы делаете из мухи слона. Это просто иллюстрация работы оператора "+" в отношении строк, и ничего больше. Я бы, например, ваш пафосный комментарий причислил к антипаттернам принципа KISS — если бы он имел хоть какое-то отношение к теме статьи.
Всегда раздражал этот sep=" " по умолчанию.
Заметьте, что перегрузка методов(method overloading) — создание методов с одним и тем же именем, но с разными типами аргументов не поддерживается в питоне.
from functools import singledispatch
class TestClass(object):
@singledispatch
def test_method(arg, verbose=False):
if verbose:
print("Let me just say,", end=" ")
print(arg)
@test_method.register(int)
def _(arg):
print("Strength in numbers, eh?", end=" ")
print(arg)
@test_method.register(list)
def _(arg):
print("Enumerate this:")
for i, elem in enumerate(arg):
print(i, elem)
if __name__ == '__main__':
TestClass.test_method(55555)
TestClass.test_method([33, 22, 11])
Полиморфизм в Python