как исправить объект не может быть преобразован в строковую ошибку

Это легко объясняется:

  1. Объявление функции (класс и т. д.) выполняется только один раз, создавая все объекты значения по умолчанию
  2. , все передается по ссылке

Итак:

def x(a=0, b=[], c=[], d=0):
    a = a + 1
    b = b + [1]
    c.append(1)
    print a, b, c
  1. a не изменяется - каждый вызов назначения создает новый объект int - печатается новый объект
  2. b не изменяется - новый массив создается из значения по умолчанию и печатается
  3. c изменения - операция выполняется на одном и том же объекте - и печатается
0
задан cezar 27 March 2019 в 19:24
поделиться