first = "In function first"
не делает функцию возврата "In function first"
.
Я могу понять, почему вы можете думать иначе. в некоторых языках, способ вернуть av alue - назначить его функции. В других языках назначение - это выражение, а последнее выражение, вычисляемое внутри функции, - это возвращаемое значение. Итак, есть много языков, на которых вы будете работать.
Но Python не является одним из них. В Python единственным способом вернуть значение является оператор return
. И если вы не используете оператор return
, вызывающий абонент просто получает None
.
Итак, ваш код просто создает локальную переменную с (смутно) с тем же именем, что и функция, присваивает ей значение, а затем игнорирует эту переменную, поэтому она в конечном итоге не имеет никакого эффекта.
Что вы хотите:
def first():
return "In function first"
def second():
return "In function section"
print first(), second()
Однако, в то время как это даст вам желаемый результат, он на самом деле не делать то, что вы сказали, что вы хотели:
Функция первого() должна печатать строку «В функции первая()»
В этом случае она должна в нем есть print
, а не return
значение, которое кому-то еще приходится печатать.
... а затем вызывать функцию second().
Затем вам нужно поместить вызов second()
внутри определения first
, а не за его пределами.
Функция второго() должна вывести строку «В функции второго().
И снова, он должен print
, не return
.
Итак, это гораздо лучше подходит к тому, что вы пытаетесь сделать:
def first():
print "In function first"
second()
def second():
print "In function second"
first()
Это, как говорится, код, который вы написали (с этим исправлением) на самом деле кажется лучше кода, чем код вы хотели написать. Возвращаемые значения из внутренних функций и обработки выходных данных на самом высоком уровне, как правило, более гибкие, чем у всех print
.
Вам не хватает части, которая говорит ", а затем вызывает функцию' second() '. Вы думали о том, как и где это сделать? Кроме того, вы не можете использовать 'return' вне функции. – BrenBarn
Вам также не хватает частей, которые говорят 'print' строку ... – jonrsharpe
Я немного изменил сайт, чтобы у меня были функции печати. Я взял их раньше и забыл вернуть их обратно. – Kayla