Да, извиняюсь, я имел в виду логическое равенство, а не равенство id.
Просто использовать термин «равно», мне показалось тоже не хорошей идеей. Надо было выбрать другой термин.
Спасибо за замечания, поправил текст статьи, надеюсь, сейчас более понятно, для удобства скопирую и сюда.
def func(first, second, *, kwonly=True):
print(first, second, kwonly)
def func2(first, second, *args, kwonly=True):
print(first, second, *args, kwonly)
func(1) #-> TypeError: func() missing 1 required positional argument: 'second'
func(1, 2) #-> 1 2 True
func(1, 2, False) #-> TypeError: func() takes 2 positional arguments but 3 were given
# используя * в объявлении вы укажите, что
# ваша функция должна быть вызвана с двумя
# позиционными параметрами
func(1, 2, kwonly=False) #-> 1 2 False
func2(1, 2, False) #-> 1 2 False True
# *args заберёт в себя все позиционные
# параметры, то есть вашу функцию может будет
# вызывать с неограниченным (>2) числом
# параметров
Просто использовать термин «равно», мне показалось тоже не хорошей идеей. Надо было выбрать другой термин.
А вот
не работает