Из вашего вопроса, что я думаю, что вы хотите, zap
будет иметь значение "Put on some pants!"
, а thing
будет иметь значение "And don't forget your underwear!"
. Если это ваша проблема, давайте обсудим это. В противном случае вам не нужно читать дальше, как я только что говорил обо всем этом.
Давай повеселимся. Когда вы определяете функцию, вы похожи на создание машины, которая делает то, что вы от нее хотите. Теперь давайте подумаем о машине, которая, когда вы даете ей немного еды, она их рубит и ... ничего не делает! Я имею в виду, что я сделал эту машину для измельчения продуктов и ничего больше! Вы не получите обратно свою нарезанную пищу, но на самом деле она нарезала вашу еду, как вы ее приготовили.
Теперь, когда вы хотите вернуть свою нарезанную пищу, вы создаете другую машину, которая забирает ваши продукты, измельчает их и возвращает вам. Плодотворная машина, не правда ли? ; -)
Все они верны для функций в программировании или математике (хотя я не знаю ни одной void-функции в математике!: P). Когда вы создаете функцию, вы должны указать ей, просто ли она выполняет какую-то работу или она выполняет некоторую работу, и вернуть результат . Способ сообщить функции - оператор return
. В своих функциях вы только что сказали что-то делать. И это print "......"
так же, как и функции. Вы вызываете with () в конце, и он выполняет свою работу, он печатает его. Но, как я сказал, если вы не скажете, чтобы он вернул результат, это не так. И поскольку он не возвращает никакого результата, переменной не будет присвоено ничего (не путайте его с None
). Когда вы написали эти строки (если в интерпретаторе) или запустили скрипт, вы увидите, что эти строки напечатаны, но ваши zap
и thing
не имеют значений.
Так как это исправить? Скажите им, чтобы вернуть строки для переменных. Чтобы сказать, что функции делают это, замените операторы print
на операторы return
. И неважно экспериментировать с тем, что вы знаете, знать, что вы знаете о своих знаниях, это правда: -)
Надеюсь, это поможет: -)