Найти - Пользователи
Полная версия: функция return. Что за фрукт?
Начало » Python для новичков » функция return. Что за фрукт?
1 2
quaker
Здравствуйте. Объясните пожалуйста на примерах, что из себя представляет оператор return. Чем она отличается от print. И где её следует использовать. Спасибо
Singularity
Ти що то взагалі не функції
ajib6ept


http://python.su/forum/topic/5661/
alexsis
Вот это можешь прочитать
quaker
Что я понял:
return используется только в функциях и он возвращает значение в отличии от print который выводит, также return после выполнения в фу-ии выходит из неё. В каждой функции в которой в явном виде нету return он есть в виде return None. print - это функция и он требует, что бы значение было в (). return это оператор и он не требует скобок.
А теперь вопросы.
Как понять фразу возвращает значение? И что за код такой когда print возвращает значение? Спасибо заранее.

Вот два примера
1)
>>> def fib2(n): # вернуть числа Фибоначчи меньшие (вплоть до) n
...     """Возвращает список чисел ряда Фибоначчи, ограниченный n."""
...     result = []
...     a, b = 0, 1
...     while b < n:
...         result.append(b)    # см. ниже
...         a, b = b, a+b
...     return result
...
>>> f100 = fib2(100)    # вызываем
>>> f100                # выводим результат
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
2)
>>> def fib(n):    # вывести числа Фибоначчи меньшие (вплоть до) n
...     """Выводит ряд Фибоначчи, ограниченный n."""
...     a, b = 0, 1
...     while b < n:
...         print(b, end=' ')
...         a, b = b, a+b
...
>>> # Теперь вызовем определенную нами функцию:
... fib(2000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
То есть возвратить это передать значение в переменную?
Singularity
quaker
def get_number():
    return 1
def none_number():
    return
print get_number()
print none_number()
quaker
Singularity
quaker
1 и 0 напечатало. Как это понять?
FishHook
quaker
return используется только в функциях
А где бы оно еще могло использоваться по Вашему?
Дайте примеры.
Singularity
quaker
поправил
py.user.next
quaker
Что я понял:
return используется только в функциях и он возвращает значение в отличии от print который выводит, также return после выполнения в фу-ии выходит из неё.

Есть ключевые слова языка, они входят в его ядро.
https://docs.python.org/3/reference/lexical_analysis.html#keywords

Раньше print было ключевым словом, сейчас (в третьей версии питона) print - это имя встроенной функции.

Так как это имя, на него действуют все правила для имён.
Например, связывание имени с другим объектом:
>>> def f(n):
...     return n * 5
... 
>>> print = f
>>> 
>>> print(3)
15
>>> 
>>> del print
>>> 
>>> print(3)
3
>>>

Или передача объекта в функцию:
>>> def g(f):
...     f(1)
...     f(2)
...     f(3)
... 
>>> g(print)
1
2
3
>>>

quaker
А теперь вопросы.
Как понять фразу возвращает значение?

В школе функции проходил? Вот говорят, что у функции есть область определения и область допустимых значений.
К примеру, дана функция f(x) = x * x : функция - это f, переменная - это x.
Если x = 1, то f(x) = f(1) = 1 * 1 = 1; если x = 2, то f(x) = f(2) = 2 * 2 = 4.

Область определения - это множество всех возможных x.
Область допустимых значений - это множество всех возможных f(x).

Таким образом область определения функции f(x) = x * x - это множество всех действительных чисел. А область допустимых значений функции f(x) = x * x - это множество всех действительных чисел, больших или равных нулю.

Пример:
def f(x):
    return 1

f(x) = 1

D(f) = R
E(f) = {1}

Какова бы ни была переменная x, значение функции равно единице.
>>> def f(x):
...     return 1
... 
>>> f(1)
1
>>> f(2)
1
>>> f(3)
1
>>> f(0)
1
>>> f(-1)
1
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB