Основы Python #6: функции

  Рет қаралды 68,116

Oleg Molchanov

Oleg Molchanov

Күн бұрын

Мои курсы:
Boosty:
boosty.to/omol...
Patreon:
/ karty-vsekh-41011404
Создание функций в Python. Вызов функций. Передача аргументов. Позиционные, именованные аргументы.
Разница между параметрами и аргументами.
Серия уроков по основам Python

Пікірлер: 106
@oxygensss4390
@oxygensss4390 4 жыл бұрын
Официально лучшее видео по Python! И это никто не оспорит
@dizelvinable
@dizelvinable 5 жыл бұрын
Отличнейшие видео! Всё очень доступно. Спасибо большое, Олег.
@artem_sh564
@artem_sh564 5 жыл бұрын
Спасибо, Олег курс просто огонь. Кстати и визуальная состовляющая курса (это конечно мало важно, но), на порядок круче предыдущих !!! Добра тебе, мужик и еще раз огромнное спасибо!
@zaemiel
@zaemiel 5 жыл бұрын
"Визуальная составляющая" - это что такое? Надписи эти?
@zaemiel
@zaemiel 5 жыл бұрын
Спасибо за отзыв
@artem_sh564
@artem_sh564 5 жыл бұрын
@@zaemiel ага))) оформление, картинки, надписи всякие, цвета))
@ata.ibragimoff
@ata.ibragimoff 4 жыл бұрын
Каждое слово наполнено смыслом, пересматриваю и каждый раз узнаю что-то новое.
@vadim.islamov
@vadim.islamov 2 жыл бұрын
так библию читают)..
@julliabullet816
@julliabullet816 7 ай бұрын
Как новичку, были непонятны определения "объявление функции", "определение функции" и "инициализация функции". Вроде в видео проскальзывают определения, но разницы я не почувствовала. Переваривала c чатом GPT, выдаю другим новичкам в сжатом и простом виде: - Объявление функции (через def) - мы пишем её имя и параметры: def greet(a, b): - Определение (=создание) функции - мы заполняем тело функции кодом, который она исполнит в случае обращения к ней. def greet(a, b): result = a+b print(result) - Инициализация функции - создание объекта функции в памяти при запуске строчки с объявленной и определенной функцией, к которому Python обратится позже, если мы вызовем функцию.
@zaemiel
@zaemiel 7 ай бұрын
все одно и тоже. Ключевое слова def - это сокращение от define - т.е. "определить", "объявить" функцию. Обычно не говорят про инициализацию функций - это слишком сложно и неудобно произносить как на русском, так и на английском языках. Говорят о создании, объявлении или определении функций. А какой-то технической разницы между этими терминами нет.
@alexfish289
@alexfish289 4 жыл бұрын
9:22 - в чем разница между параметрами и аргументами функции. Собственно ответ на вопрос. 11:02 - правило сопоставления аргументов функции. 19:00 - return и для чего функции должны вызывать результат своей работы. 21:30 - последовательный вызов методов.
@Sant2409
@Sant2409 4 жыл бұрын
В целом понятнее, чем у других, но прежде всего нужно ознакомить людей на конкретных примерах со всеми используемыми терминами. Я имею ввиду в каждом видео конкретно тыкать курсором и говорить: это параметр, это аргумент, это функция и т.д. в зависимости от того, какая тема видео.
@dimitrisklimenko6769
@dimitrisklimenko6769 Жыл бұрын
eto mozno i samomy iskat, v programirovanii vazno umet iskat i pererabativat informaciy. No ti vse delu govorish.
@ВикторКлаусс
@ВикторКлаусс 3 жыл бұрын
Хорошая работа, Олег.
@Jules-ky2go
@Jules-ky2go 3 жыл бұрын
Объясняете доступно, хорошие и понятные примеры. Приняла и усилила свои слабые стороны в данной теме) Очень рада, что нашла ваши уроки, лайк.
@ГригорийСитёв
@ГригорийСитёв 4 жыл бұрын
Так понятно и подробно объяснять - незаконно! ))
@sisoniykvitaliy7172
@sisoniykvitaliy7172 3 жыл бұрын
Официально лучшее видео по Python!
@АхмедХутиев-н4ч
@АхмедХутиев-н4ч 3 жыл бұрын
Большое спасибо не как не мог разобраться с функциями респект тебе 🤝🏻🙏🏻
@shadow_sz
@shadow_sz 5 жыл бұрын
Хорошее видео! Я бы только ещё добавил что на "return" функция останавливается.
@zaemiel
@zaemiel 5 жыл бұрын
хорошее замечание.
@Gleb_Pastushenko
@Gleb_Pastushenko 3 жыл бұрын
Было бы неплохо про *args, **kwargs добавить, как логичное продолжение позиционных и именованных аргументов.
@luka63003
@luka63003 Жыл бұрын
​@@Gleb_Pastushenko нет, было бы плохо, мы ещё не проходили кортежи и словари, поэтому рано пока
@laki7191
@laki7191 7 ай бұрын
Вот так теперь понятно , автору респект👍
@lusinemartirosyan4015
@lusinemartirosyan4015 4 жыл бұрын
Жаль я не нашла ваши уроки раньше... ! Вы лучший учитель !😍😊 Спасибо 😊
@pavloy1
@pavloy1 5 жыл бұрын
Отличные уроки!!! планирию просмотреть всё на канале. Главное не забывать ставить лайки :)
@JeDesi
@JeDesi 3 жыл бұрын
Большое спасибо, Олег! Вы очень хорошо объясняете.
@ingward07
@ingward07 3 жыл бұрын
"Плохой, хороший, злой" лучший вестерн всех времён и народов. Советую посмотреть, или пересмотреть. Офигительный фильм.
@Zeding_Stuff
@Zeding_Stuff 3 жыл бұрын
Джанго освобожденный тоже неплох
@studiogsm
@studiogsm Жыл бұрын
Подскажите, как писать функцию def наклонным шрифтом?
@bahakulbarakov494
@bahakulbarakov494 4 жыл бұрын
Очень понятно объясняете , спасибо все понял)
@user_Xo4y_Ha_PycckoM
@user_Xo4y_Ha_PycckoM 3 жыл бұрын
спасибо, доступно для новичков, хорошо поставлен голос
@LLuKKen
@LLuKKen Жыл бұрын
Интересный факт: под любым обучающим видео в комментариях есть фразы "Вы лучший учитель...", "Жаль я не нашёл(нашла) ваши уроки раньше...", "всё очень доступно и понятно...". И всем всё понятно и доступно, а программистов как не было так и нет
@АленаВзорова
@АленаВзорова 2 жыл бұрын
Спасибо, очень познавательно и понятно.
@from_spb
@from_spb 4 жыл бұрын
Класс, очень прозрачно
@ОлегПаламарчук-в9у
@ОлегПаламарчук-в9у Жыл бұрын
Страх начинается когда вводят self, __init__, super()
@Archimed-jt2jq3cs6b
@Archimed-jt2jq3cs6b 3 жыл бұрын
10.30 - А почему когда я пишу то же самое, питон ругается: "name 'result' is not defined"?
@rushmaster_
@rushmaster_ 9 ай бұрын
Спасибо
@ОлегГонтар-н3э
@ОлегГонтар-н3э 4 жыл бұрын
Спасибо! Даже кот понял сейчас отобрал ноут сидит работает
@tehnobus
@tehnobus 3 жыл бұрын
ВСЁ ПОНЯТНО!!!!!!!!!!!!!
@ilyakul2200
@ilyakul2200 4 жыл бұрын
Супер видео, даже мой почти деревянный моск осознал как работают функции), но не получается разобраться с "буфером" между функций, чтоб они меняли значение переменных и возвращали данные обратно!
@ilyakul2200
@ilyakul2200 4 жыл бұрын
import keyboard enabled = 1 a = 1 def off_enabled(): a = (enabled - 1) print(a) return a def on_enabled(): a = (enabled + 1) print(a) return a def check(): if enabled == 1 and a == 2: print("True") else: print("False") keyboard.add_hotkey('x', off_enabled) keyboard.add_hotkey('e', on_enabled) keyboard.add_hotkey('ctrl + 1', check) keyboard.wait('Ctrl + Q')
@true227
@true227 2 жыл бұрын
объясняет как для тупых, т.е. именно то, что мне нужно
@aleksy20081
@aleksy20081 11 ай бұрын
в параметрах функции пишим муви,рейтинг. в теле функции вот эту строку резулт = бла бла бла и принт результ не забывает, и потом при вызове функции вставляем аргументы название фильма и рейтинг
@Shadowfight-z5f
@Shadowfight-z5f 3 жыл бұрын
Народ, никто не в курсах, как установить переменные в функцию через__kwdefaults__ чтобы можно было потом использовать def foo(): return a+b foo.__kwdefaults__ = {"a":1,"b":2} Но если запустить функцию, он не найдет переменных a,b Как сделать чтоб он их нашел?
@АхмедХутиев-н4ч
@АхмедХутиев-н4ч 3 жыл бұрын
У меня вопрос, а вы код пишите по стандарту pep8 ?
@Sant2409
@Sant2409 4 жыл бұрын
Можете объяснить другими словами или на каких-то примерах не из программирования, что такое функция return? Что значит "возвращать" конкретно здесь? Запутался я что-то.
@АлександрХолодов-л3н
@АлександрХолодов-л3н 4 жыл бұрын
yandex.ru/q/question/funktsiia_return_v_python_f0afd72a/ Представьте, что функция - это Ваш помощник (робот или человек, не важно). Для того, чтобы он действительно помогал, ему нужно сообщить всего 2 вида информации: как нужно делать и с чем эти действия производить. Когда помощник закончит свою работу, он должет передать результат своей работы назад Вам. Теперь подставляем вместо: передать в функцию >>> сообщить помощнику, аргументы >>> информация о том с чем производить действия, операторы >>> информация о том, какие действия нужно произвести с аргументами, возвращать >>> оператор (команда) передать назад результат. Я правда старался попроще =)
@ppg2221
@ppg2221 2 жыл бұрын
@@АлександрХолодов-л3н но ведь я могу просто вызвать функцию к примеру : greet(message, name) и получу результат в виде print(result) и это получится без return . Тут наверно смысл применения return в том, что функция выполнив свое действие как бы стирает используемые до этого значения . А return при этом ещё и останавливает функцию. Всё, что будет после return, функция не увидит. И return как раз возвращает предыдущие используемые значение, чтобы их ещё раз дальше использовать . К примеру использовать потом в другой переменной. Я как то так понял этот return .... Единственное, я пока не могу применить функцию к примеру в начале ролика , где два разных фильма и рейтинг на каждый из этих фильмов тоже разный ..... Я так понял, что при применение этой функции, код должен упростится , меньше строк займет , типа dry получится :)
@АлександрХолодов-л3н
@АлександрХолодов-л3н 2 жыл бұрын
@@ppg2221 отлично и забористо объясняете, продолжите из любой точки далее, пожалуйста...
@ppg2221
@ppg2221 2 жыл бұрын
@@АлександрХолодов-л3н Не совсем понял. Это сарказм или что ? :/ Просто , так как я новичок , то большая вероятность ошибок в моих объяснениях .... . Я там добавил, что return ещё останавливает функцию , все что будет после return, функция как бы не увидит . И то я думаю , что не совсем понял это. Так что сейчас читаю другие источники про функции и return . Так как постоянно чувствую не договоренность в объяснениях кем либо , практически всегда возникают вопросы ....
@ppg2221
@ppg2221 2 жыл бұрын
@@АлександрХолодов-л3н ок. Сейчас почитаю . Просто чтобы понять смысл return, наверно нужно для начинающих, привести примеры кода, где без return не обойтись .
@leonidlee3878
@leonidlee3878 3 жыл бұрын
def add(movie, rating): return f'Movie:"{movie}" - Rating:"{rating}"' print(add('Fight Club',100)) print(add('Alien',150)) print(add('Sully',200)) как то так, едиственное еще не сообразил как не печатать постоянно print(add()), что бы код был dry)))
@leonidlee3878
@leonidlee3878 3 жыл бұрын
import math def log(x,y): l = math.log(x,y) return l print(log(64,2)) еще немного поигравлся с функциями print( :-) ) хотя тут можно было конечно просто испльзовать модуль math.log(X, [base]) наверное
@Vika-z5w
@Vika-z5w 3 жыл бұрын
Топ, спасибо большое
@ApelsinArbuzov1
@ApelsinArbuzov1 3 жыл бұрын
То есть greet просто помогает сократить объем кода, хотя по сути это тот же print?
@SirDonPardon
@SirDonPardon 3 жыл бұрын
Смотри, greet - это придуманная Олегом функция. Это не существующая функция до тех пор, пока Python её не увидит и не исполнит. Олег сделал так, чтоб greet выполняла функцию принта со строкой Hello world. Он задал этой переменной действие выведения строки. Проще говоря он взял слово greet(приветствие на английском) и назначил его исполнять выведение строки "Привет мир" путём функции print, а так ты можешь сделать так, чтоб greet к примеру исполняла форматирование строки. Пример: >>> def greet(): movie = "Leon" rating = 100 result = f'Movie: {movie}, rating: {rating}' print (result) >>> greet() Movie: Leon, rating: 100 Как-то так.
@Galano-vx7xy
@Galano-vx7xy 4 жыл бұрын
Super guide >3
@Galano-vx7xy
@Galano-vx7xy 4 жыл бұрын
Всё понятно,кроме return ..вроде она возвращает результат,а вроде игнорируется,когда мы сами вводим(ручками) значение/имя в окошко аргумента функции при вызове!
@fanakauntnadonat6498
@fanakauntnadonat6498 2 жыл бұрын
Можно КОД из видио
@noookm
@noookm 3 жыл бұрын
Очень понятно. Спасибо. Некрасиво только то, что переменные раньше функции написал, не поПепски это, а всё остальное прекрасно.👍
@ДенисСтуенко
@ДенисСтуенко 4 жыл бұрын
Как называется компилятор?
@Dagon0230
@Dagon0230 3 жыл бұрын
это не компилятор, а редактор кода Atom. Довольно неплохой, и расширений на него довольно много ;-)
@vadim.islamov
@vadim.islamov 2 жыл бұрын
п-т. так правильно? 1 #!/usr/bin/env python3 2 3 #def f(name, number): 4 # print(f'{name} - {number}') 5 6 f = lambda name, number: print(f'{name} - {number}') 7 8 name = input('назови имя: ') 9 number = input('укажи рейтинг: ') 10 f(name, number) 11 12 name = input('назови имя: ') 13 number = input('укажи рейтинг: ') 14 f(name, number)
@s20bombaster
@s20bombaster 3 жыл бұрын
line 3 обьясните значениие символа f ,cпасибо
@DenisTrebushnikov
@DenisTrebushnikov 3 жыл бұрын
если вдруг еще не знаете или таки не посмотрели пред-предыдущее видео о строках. f' ' - с версии Пайтона 3.6 дублирует метод .format(), на простом использовании - она удобнее.
@ИванИванов-н9т9ъ
@ИванИванов-н9т9ъ 5 жыл бұрын
Вы говорите, что методы - это функции, которые принадлежат конкретному классу. Но ведь функции, которые мы создаем тоже принадлежат классу "function", следовательно, любая функция - это метод. Можете пояснить?
@zaemiel
@zaemiel 5 жыл бұрын
Здесь нет противоречия. Посмотрите на методы функций.
@ИванИванов-н9т9ъ
@ИванИванов-н9т9ъ 5 жыл бұрын
Я скорее не про противоречие, а про корректность разделения некоторых объектов на функции и методы по признаку принадлежности к классу. На мой взгляд, мы получаем циклическое определение: методы - это функции, а функции - это методы.
@zaemiel
@zaemiel 5 жыл бұрын
функция, которую вы создаете является экземпляром класса. Методы - это атрибуты класса. Если сама по себе функция является атрибутом класса, то она - метод.
@ИванИванов-н9т9ъ
@ИванИванов-н9т9ъ 5 жыл бұрын
@@zaemiel Понял. Спасибо.
@lastpoemm
@lastpoemm 3 жыл бұрын
5:16 Как он так сделал?
@leomysky
@leomysky 4 жыл бұрын
Пам-пам-пам Вот и коммент для продвижения
@vadim.islamov
@vadim.islamov 2 жыл бұрын
или, лямбы не правильны в прогах?
@BohdanUA
@BohdanUA 4 жыл бұрын
А что у вас за ОС ?
@leo_need
@leo_need 3 жыл бұрын
Ну видно же, что это Linux. Скорее всего Linux Mint
@daniilbelyaev2778
@daniilbelyaev2778 4 жыл бұрын
С долей экспериментаторства вышло как-то так, только что-то меня в этом "счастье" смцщает -____- name = input(print('Enter the name of movie:')) rating = input(print('Enter the rating of this movie:')) def mov_rat(name, rating): result = f'Name: "{name}" Rating: {rating}.' return result a = mov_rat(name, rating) print(a)
@funk6248
@funk6248 4 жыл бұрын
name = input('Enter the name of movie: ') rating = input('Enter the rating of this movie: ') def mov_rat(name, rating): result = f'Name: "{name}." Rating: {rating}.' return result a = mov_rat(name, rating) print(a)
@funk6248
@funk6248 4 жыл бұрын
чел, если пишешь input("...") Не обязательно писать print, у тебя input сразу выводится на экран и спрашивает значение. Также могу дать прикольную идею, добавь в базу данных некоторые фильмы + их рейтинг(через файлы).
@vadim.islamov
@vadim.islamov 2 жыл бұрын
олег! вы живы и здоровы, надеюсь?!
@FilmicFil
@FilmicFil 5 жыл бұрын
ugly же вроде страшный. злой - angry
@zaemiel
@zaemiel 5 жыл бұрын
так перевели
@FilmicFil
@FilmicFil 5 жыл бұрын
@@zaemiel Я не знал что фильм в оригинале так называется)
@pythonForEvOne
@pythonForEvOne 4 жыл бұрын
не плохо, но контент только для совсем нулевых, хотелось бы увидеть более глубокий разбор функций, и примеров хотелось бы более реальных!
@leo_need
@leo_need 3 жыл бұрын
Ты дурачок? Написано же "Основы..." хоти себе дальше, что угодно!
@3De_Mir
@3De_Mir 3 жыл бұрын
а вы преподаватель?
@ВладимирвладимиР-ь8ш
@ВладимирвладимиР-ь8ш 3 жыл бұрын
джаваскрипт понятнее .
@user-ch2tx6ud1f
@user-ch2tx6ud1f 2 жыл бұрын
11:02
@alexyzzka
@alexyzzka 2 жыл бұрын
Слишком много непонятных терминов для новичка. Я не понял практически ничего, изза непонятных мне терминов. Я хочу научиться, но в итоге теряюсь среди неизведанного
@Glavny_po_vsemu
@Glavny_po_vsemu 4 жыл бұрын
Снова окошки и снова нихрена не понятно !
@николайлитвиненко-х2х
@николайлитвиненко-х2х 5 жыл бұрын
Вот вообще не понял ...
@alexanderpadalka5708
@alexanderpadalka5708 3 жыл бұрын
@best_video_guru
@best_video_guru 5 жыл бұрын
Для новичков сложновато изъясняешься. И на мой взгляд воды многовато. Больше все таки для тех кто уже знаком с программированием.
@zaemiel
@zaemiel 5 жыл бұрын
Воды там нет вообще. Сложновато? Возможно.
@Alex-qp8iy
@Alex-qp8iy 4 жыл бұрын
Лично я в программировании ноль, но мне нормально заходит. Пока не вижу ничего не понятного. Много надо запомнить - это да. Но ничего сложного.
@ВадимАронах
@ВадимАронах 4 жыл бұрын
@@zaemiel воды нет, не слушай их. Все понятно.Было время давненько, когда я C# взялся изучать по шилдту, так вот там иногда затупы были конечно) пайтон после си шарпа как глоток воздуха, минимум ограничений, максимум свободы) Про функции мне нравится, когда объясняют как параллель с математическими функциями (по сути так и есть).
@hidekidadzai353
@hidekidadzai353 4 жыл бұрын
Сложновато? Ты смотрел видосы у хауди и Георгий дударь? Вот у них сложно.
@tahirjalilov
@tahirjalilov 4 жыл бұрын
@@hidekidadzai353 у хауди вообще видосы не о чем.
@epiphanyl3471
@epiphanyl3471 4 жыл бұрын
Вы мошенник, делать это бесплатно, курсы по пойтону от N школы берут за это деньги , а вы просто так)
@Главныйсанитардурки-э7е
@Главныйсанитардурки-э7е 3 жыл бұрын
Ты сам понял что написал?
@montecristo31
@montecristo31 3 жыл бұрын
@@Главныйсанитардурки-э7е рофл...
@vadim.islamov
@vadim.islamov 2 жыл бұрын
я всё за домашку).. это катит? #!/usr/bin/python3 a = input('назови картину: ') b = eval(input('оцени по пятибальной шкале: ')) f = lambda a, b: print(f'Фильм "{a.title()}" - твоя оценка {b}.') f(a, b)
Уроки Python casts #6 - Декораторы
19:50
Oleg Molchanov
Рет қаралды 142 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 1,9 МЛН
Car Bubble vs Lamborghini
00:33
Stokes Twins
Рет қаралды 40 МЛН
They Chose Kindness Over Abuse in Their Team #shorts
00:20
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 148 МЛН
Основы Python #13: Работа с файлами, with
16:42
Oleg Molchanov
Рет қаралды 38 М.
Основы Python #16: импорт модулей
17:09
Oleg Molchanov
Рет қаралды 47 М.
ТОП 5 Ошибок в написании функций Python
12:46
Основы Python #15: Исключения
16:16
Oleg Molchanov
Рет қаралды 29 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 1,9 МЛН