Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 12, 2014 18:00:42

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

Здравствуйте. Объясните пожалуйста на примерах, что из себя представляет оператор return. Чем она отличается от print. И где её следует использовать. Спасибо



Использую Python 3 + komodo edit )

Отредактировано quaker (Июль 1, 2014 21:25:00)

Офлайн

#2 Июнь 12, 2014 18:12:05

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

Ти що то взагалі не функції

Офлайн

#3 Июнь 12, 2014 18:40:46

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?



http://python.su/forum/topic/5661/



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#4 Июнь 12, 2014 20:32:47

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

Офлайн

#5 Июль 1, 2014 21:03:36

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

Что я понял:
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
То есть возвратить это передать значение в переменную?



Использую Python 3 + komodo edit )

Отредактировано quaker (Июль 1, 2014 21:08:20)

Офлайн

#6 Июль 1, 2014 21:07:46

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

quaker

def get_number():
    return 1
def none_number():
    return
print get_number()
print none_number()

Отредактировано Singularity (Июль 1, 2014 21:22:01)

Офлайн

#7 Июль 1, 2014 21:10:08

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

Singularity
quaker
1 и 0 напечатало. Как это понять?



Использую Python 3 + komodo edit )

Отредактировано quaker (Июль 1, 2014 21:14:39)

Офлайн

#8 Июль 1, 2014 21:12:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

quaker
return используется только в функциях
А где бы оно еще могло использоваться по Вашему?
Дайте примеры.



Офлайн

#9 Июль 1, 2014 21:22:09

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

quaker
поправил

Офлайн

#10 Июль 1, 2014 23:31:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

функция return. Что за фрукт?

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
>>>



Отредактировано py.user.next (Июль 2, 2014 22:12:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version