Форум сайта python.su
Я уже реально задолбался уже прочёл книгу марк лутца чтоб понять эту хрень и в инете смотрел и тут там и в исходниках и сам перевод слова. ЧТО ОНА ДЕЛАЕТ? Единственное что я понял это то что она выполняет действия функции print() внутри def:… Что она делает сама по себе. Я понимаю правило “Если есть значит нужно”, но зачем она нужна если есть print() и “=”? Прошу объяснить мне русским языком без показухи.
Офлайн
Вот тебе три примера функции:
В первом примере функция возвращает единицу при любом вызове
>>> def f(): ... return 1 ... >>> y = f() >>> >>> print(y) 1 >>>
>>> def f(x): ... return x ... >>> y = f(5) >>> >>> print(y) 5 >>>
>>> def f(x): ... return x * x * x ... >>> y = f(3) >>> >>> print(y) 27 >>>
Отредактировано py.user.next (Сен. 8, 2016 18:36:45)
Офлайн
>>> def f(x): ... return x ... >>> y = f(5) >>> >>> print(y) 5 >>>
Офлайн
py.user.next
Офлайн
Djo0513сама по себе return завершает работу функции и передает аргумент прописанный после return в место откуда была вызвана функция. И не обязательно функция должна что то печатать в консоль. обычно функция выполняет определенный алгоритм но с разными аргументами. это дает возможность не писать по всему коду одинаковый участок алгоритма с разными аргументами а проще вызвать функцию.
так и не объяснили что она значит сама по себе
Офлайн
Djo0513Она и не должна ничего выполнять, это просто функция f(x) = x.
Что она деалет? Она же ничего не выполняет
>>> def f(x): ... return x ... >>> >>> import itertools >>> >>> list(itertools.takewhile(f, [1, 2, 3, 0, 0, 0, 3, 4, 5])) [1, 2, 3] >>>
>>> def f(x): ... return 1 ... >>> >>> list(map(f, range(10))) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] >>>
Отредактировано py.user.next (Сен. 8, 2016 20:22:45)
Офлайн
Походу я так и не пойму что это. Может судьба такая.
Офлайн
Я думаю Вы хотите увидеть вот это:
В первом случае при вызове функции она выведет значение и все. Допустим прибавить что-то вы уже не сможете. Только вывод информации.
def f(a): print(a) e = f(3) # вывело значение c = e +1 # а что такое e? print(c) # вызовет ошибку
def f1(b): return b e = f1(3) # присвоим e значение 3 c = e +1 # теперь я знаю что такое это e print(c) # не вызовет ошибку # ой я вспомнил, теперь я хочу еще что нибудь сделать с этим е d = e*3 print(d) # а теперь я еще раз хочу из функции значение получить k = f1(5) # и теперь я с k могу делать всякие всячину
Офлайн
Подождите как подождите. return (делает из частного в госсударственный, надеюсь вы меня поняли) аргумент функции?
Офлайн
def zod(m,z): return m,z fas=zod(40,50) print(m+z)
Офлайн