Pull to refresh
40

Инженер-программист

37
Subscribers
Send message
Да, извиняюсь, я имел в виду логическое равенство, а не равенство id.
Просто использовать термин «равно», мне показалось тоже не хорошей идеей. Надо было выбрать другой термин.
Согласен, лучше пользоваться длинной формой, я решил указать здесь такую, чтобы показать, что она возможна.
А вот
collection |= []
# TypeError: unsupported operand type(s) for |=: 'NoneType' and 'list' 

не работает
Спасибо за замечания, поправил текст статьи, надеюсь, сейчас более понятно, для удобства скопирую и сюда.

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) числом
                   # параметров

12 ...
46

Information

Rating
Does not participate
Registered
Activity