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

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

Пікірлер: 106

  • @oxygensss4390
    @oxygensss43904 жыл бұрын

    Официально лучшее видео по Python! И это никто не оспорит

  • @Sant2409
    @Sant24094 жыл бұрын

    В целом понятнее, чем у других, но прежде всего нужно ознакомить людей на конкретных примерах со всеми используемыми терминами. Я имею ввиду в каждом видео конкретно тыкать курсором и говорить: это параметр, это аргумент, это функция и т.д. в зависимости от того, какая тема видео.

  • @dimitrisklimenko6769

    @dimitrisklimenko6769

    Жыл бұрын

    eto mozno i samomy iskat, v programirovanii vazno umet iskat i pererabativat informaciy. No ti vse delu govorish.

  • @ata.ibragimoff
    @ata.ibragimoff4 жыл бұрын

    Каждое слово наполнено смыслом, пересматриваю и каждый раз узнаю что-то новое.

  • @vadim.islamov

    @vadim.islamov

    Жыл бұрын

    так библию читают)..

  • @dizelvinable
    @dizelvinable4 жыл бұрын

    Отличнейшие видео! Всё очень доступно. Спасибо большое, Олег.

  • @artem_sh564
    @artem_sh5644 жыл бұрын

    Спасибо, Олег курс просто огонь. Кстати и визуальная состовляющая курса (это конечно мало важно, но), на порядок круче предыдущих !!! Добра тебе, мужик и еще раз огромнное спасибо!

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    "Визуальная составляющая" - это что такое? Надписи эти?

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    Спасибо за отзыв

  • @artem_sh564

    @artem_sh564

    4 жыл бұрын

    @@zaemiel ага))) оформление, картинки, надписи всякие, цвета))

  • @alexfish289
    @alexfish2894 жыл бұрын

    9:22 - в чем разница между параметрами и аргументами функции. Собственно ответ на вопрос. 11:02 - правило сопоставления аргументов функции. 19:00 - return и для чего функции должны вызывать результат своей работы. 21:30 - последовательный вызов методов.

  • @user-dv8cq1yg6z
    @user-dv8cq1yg6z3 жыл бұрын

    Хорошая работа, Олег.

  • @user-od9sm2pl9f
    @user-od9sm2pl9f4 жыл бұрын

    Так понятно и подробно объяснять - незаконно! ))

  • @Jules-ky2go
    @Jules-ky2go3 жыл бұрын

    Объясняете доступно, хорошие и понятные примеры. Приняла и усилила свои слабые стороны в данной теме) Очень рада, что нашла ваши уроки, лайк.

  • @pavloy1
    @pavloy14 жыл бұрын

    Отличные уроки!!! планирию просмотреть всё на канале. Главное не забывать ставить лайки :)

  • @laki7191
    @laki71914 ай бұрын

    Вот так теперь понятно , автору респект👍

  • @JeDesi
    @JeDesi3 жыл бұрын

    Большое спасибо, Олег! Вы очень хорошо объясняете.

  • @lusinemartirosyan4015
    @lusinemartirosyan40154 жыл бұрын

    Жаль я не нашла ваши уроки раньше... ! Вы лучший учитель !😍😊 Спасибо 😊

  • @sisoniykvitaliy7172
    @sisoniykvitaliy71723 жыл бұрын

    Официально лучшее видео по Python!

  • @shadow_sz
    @shadow_sz4 жыл бұрын

    Хорошее видео! Я бы только ещё добавил что на "return" функция останавливается.

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    хорошее замечание.

  • @Gleb_Pastushenko

    @Gleb_Pastushenko

    3 жыл бұрын

    Было бы неплохо про *args, **kwargs добавить, как логичное продолжение позиционных и именованных аргументов.

  • @luka63003

    @luka63003

    Жыл бұрын

    ​@@Gleb_Pastushenko нет, было бы плохо, мы ещё не проходили кортежи и словари, поэтому рано пока

  • @user-fs9th3sr9g
    @user-fs9th3sr9g3 жыл бұрын

    Большое спасибо не как не мог разобраться с функциями респект тебе 🤝🏻🙏🏻

  • @bahakulbarakov494
    @bahakulbarakov4943 жыл бұрын

    Очень понятно объясняете , спасибо все понял)

  • @user-nq1ne7uq2t
    @user-nq1ne7uq2t2 жыл бұрын

    Спасибо, очень познавательно и понятно.

  • @from_spb
    @from_spb4 жыл бұрын

    Класс, очень прозрачно

  • @user_Xo4y_Ha_PycckoM
    @user_Xo4y_Ha_PycckoM3 жыл бұрын

    спасибо, доступно для новичков, хорошо поставлен голос

  • @ingward07
    @ingward073 жыл бұрын

    "Плохой, хороший, злой" лучший вестерн всех времён и народов. Советую посмотреть, или пересмотреть. Офигительный фильм.

  • @Zeding_Stuff

    @Zeding_Stuff

    2 жыл бұрын

    Джанго освобожденный тоже неплох

  • @Galano-vx7xy
    @Galano-vx7xy4 жыл бұрын

    Super guide >3

  • @user-ip6dm2zs5s
    @user-ip6dm2zs5s3 жыл бұрын

    Топ, спасибо большое

  • @rushmaster_
    @rushmaster_6 ай бұрын

    Спасибо

  • @user-ds7gs1sf7w
    @user-ds7gs1sf7w3 жыл бұрын

    Спасибо! Даже кот понял сейчас отобрал ноут сидит работает

  • @user-xg4pd7en9d
    @user-xg4pd7en9d Жыл бұрын

    Страх начинается когда вводят self, __init__, super()

  • @tehnobus
    @tehnobus2 жыл бұрын

    ВСЁ ПОНЯТНО!!!!!!!!!!!!!

  • @LLuKKen
    @LLuKKen Жыл бұрын

    Интересный факт: под любым обучающим видео в комментариях есть фразы "Вы лучший учитель...", "Жаль я не нашёл(нашла) ваши уроки раньше...", "всё очень доступно и понятно...". И всем всё понятно и доступно, а программистов как не было так и нет

  • @true227
    @true2272 жыл бұрын

    объясняет как для тупых, т.е. именно то, что мне нужно

  • @ilyakul2200
    @ilyakul22004 жыл бұрын

    Супер видео, даже мой почти деревянный моск осознал как работают функции), но не получается разобраться с "буфером" между функций, чтоб они меняли значение переменных и возвращали данные обратно!

  • @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')

  • @julliabullet816
    @julliabullet8163 ай бұрын

    Как новичку, были непонятны определения "объявление функции", "определение функции" и "инициализация функции". Вроде в видео проскальзывают определения, но разницы я не почувствовала. Переваривала c чатом GPT, выдаю другим новичкам в сжатом и простом виде: - Объявление функции (через def) - мы пишем её имя и параметры: def greet(a, b): - Определение (=создание) функции - мы заполняем тело функции кодом, который она исполнит в случае обращения к ней. def greet(a, b): result = a+b print(result) - Инициализация функции - создание объекта функции в памяти при запуске строчки с объявленной и определенной функцией, к которому Python обратится позже, если мы вызовем функцию.

  • @zaemiel

    @zaemiel

    3 ай бұрын

    все одно и тоже. Ключевое слова def - это сокращение от define - т.е. "определить", "объявить" функцию. Обычно не говорят про инициализацию функций - это слишком сложно и неудобно произносить как на русском, так и на английском языках. Говорят о создании, объявлении или определении функций. А какой-то технической разницы между этими терминами нет.

  • @aleksy20081
    @aleksy200818 ай бұрын

    в параметрах функции пишим муви,рейтинг. в теле функции вот эту строку резулт = бла бла бла и принт результ не забывает, и потом при вызове функции вставляем аргументы название фильма и рейтинг

  • @leomysky
    @leomysky3 жыл бұрын

    Пам-пам-пам Вот и коммент для продвижения

  • @Galano-vx7xy
    @Galano-vx7xy4 жыл бұрын

    Всё понятно,кроме return ..вроде она возвращает результат,а вроде игнорируется,когда мы сами вводим(ручками) значение/имя в окошко аргумента функции при вызове!

  • @noookm
    @noookm3 жыл бұрын

    Очень понятно. Спасибо. Некрасиво только то, что переменные раньше функции написал, не поПепски это, а всё остальное прекрасно.👍

  • @studiogsm
    @studiogsm Жыл бұрын

    Подскажите, как писать функцию def наклонным шрифтом?

  • @leonidlee3878
    @leonidlee38783 жыл бұрын

    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]) наверное

  • @Archimed-jt2jq3cs6b
    @Archimed-jt2jq3cs6b2 жыл бұрын

    10.30 - А почему когда я пишу то же самое, питон ругается: "name 'result' is not defined"?

  • @Sant2409
    @Sant24094 жыл бұрын

    Можете объяснить другими словами или на каких-то примерах не из программирования, что такое функция return? Что значит "возвращать" конкретно здесь? Запутался я что-то.

  • @user-wz8ln2om6i

    @user-wz8ln2om6i

    3 жыл бұрын

    yandex.ru/q/question/funktsiia_return_v_python_f0afd72a/ Представьте, что функция - это Ваш помощник (робот или человек, не важно). Для того, чтобы он действительно помогал, ему нужно сообщить всего 2 вида информации: как нужно делать и с чем эти действия производить. Когда помощник закончит свою работу, он должет передать результат своей работы назад Вам. Теперь подставляем вместо: передать в функцию >>> сообщить помощнику, аргументы >>> информация о том с чем производить действия, операторы >>> информация о том, какие действия нужно произвести с аргументами, возвращать >>> оператор (команда) передать назад результат. Я правда старался попроще =)

  • @ppg2221

    @ppg2221

    Жыл бұрын

    @@user-wz8ln2om6i но ведь я могу просто вызвать функцию к примеру : greet(message, name) и получу результат в виде print(result) и это получится без return . Тут наверно смысл применения return в том, что функция выполнив свое действие как бы стирает используемые до этого значения . А return при этом ещё и останавливает функцию. Всё, что будет после return, функция не увидит. И return как раз возвращает предыдущие используемые значение, чтобы их ещё раз дальше использовать . К примеру использовать потом в другой переменной. Я как то так понял этот return .... Единственное, я пока не могу применить функцию к примеру в начале ролика , где два разных фильма и рейтинг на каждый из этих фильмов тоже разный ..... Я так понял, что при применение этой функции, код должен упростится , меньше строк займет , типа dry получится :)

  • @user-wz8ln2om6i

    @user-wz8ln2om6i

    Жыл бұрын

    @@ppg2221 отлично и забористо объясняете, продолжите из любой точки далее, пожалуйста...

  • @ppg2221

    @ppg2221

    Жыл бұрын

    @@user-wz8ln2om6i Не совсем понял. Это сарказм или что ? :/ Просто , так как я новичок , то большая вероятность ошибок в моих объяснениях .... . Я там добавил, что return ещё останавливает функцию , все что будет после return, функция как бы не увидит . И то я думаю , что не совсем понял это. Так что сейчас читаю другие источники про функции и return . Так как постоянно чувствую не договоренность в объяснениях кем либо , практически всегда возникают вопросы ....

  • @ppg2221

    @ppg2221

    Жыл бұрын

    @@user-wz8ln2om6i ок. Сейчас почитаю . Просто чтобы понять смысл return, наверно нужно для начинающих, привести примеры кода, где без return не обойтись .

  • @user-gf6er4ug6g
    @user-gf6er4ug6g3 жыл бұрын

    Народ, никто не в курсах, как установить переменные в функцию через__kwdefaults__ чтобы можно было потом использовать def foo(): return a+b foo.__kwdefaults__ = {"a":1,"b":2} Но если запустить функцию, он не найдет переменных a,b Как сделать чтоб он их нашел?

  • @user-oi1zl6de8i
    @user-oi1zl6de8i4 жыл бұрын

    Вы говорите, что методы - это функции, которые принадлежат конкретному классу. Но ведь функции, которые мы создаем тоже принадлежат классу "function", следовательно, любая функция - это метод. Можете пояснить?

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    Здесь нет противоречия. Посмотрите на методы функций.

  • @user-oi1zl6de8i

    @user-oi1zl6de8i

    4 жыл бұрын

    Я скорее не про противоречие, а про корректность разделения некоторых объектов на функции и методы по признаку принадлежности к классу. На мой взгляд, мы получаем циклическое определение: методы - это функции, а функции - это методы.

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    функция, которую вы создаете является экземпляром класса. Методы - это атрибуты класса. Если сама по себе функция является атрибутом класса, то она - метод.

  • @user-oi1zl6de8i

    @user-oi1zl6de8i

    4 жыл бұрын

    @@zaemiel Понял. Спасибо.

  • @ApelsinArbuzov1
    @ApelsinArbuzov13 жыл бұрын

    То есть 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 Как-то так.

  • @user-fs9th3sr9g
    @user-fs9th3sr9g3 жыл бұрын

    У меня вопрос, а вы код пишите по стандарту pep8 ?

  • @user-rb4lg5hi2c
    @user-rb4lg5hi2c4 жыл бұрын

    Как называется компилятор?

  • @Dagon0230

    @Dagon0230

    3 жыл бұрын

    это не компилятор, а редактор кода Atom. Довольно неплохой, и расширений на него довольно много ;-)

  • @lastpoemm
    @lastpoemm3 жыл бұрын

    5:16 Как он так сделал?

  • @s20bombaster
    @s20bombaster3 жыл бұрын

    line 3 обьясните значениие символа f ,cпасибо

  • @DenisTrebushnikov

    @DenisTrebushnikov

    3 жыл бұрын

    если вдруг еще не знаете или таки не посмотрели пред-предыдущее видео о строках. f' ' - с версии Пайтона 3.6 дублирует метод .format(), на простом использовании - она удобнее.

  • @BohdanUA
    @BohdanUA3 жыл бұрын

    А что у вас за ОС ?

  • @leo_need

    @leo_need

    3 жыл бұрын

    Ну видно же, что это Linux. Скорее всего Linux Mint

  • @fanakauntnadonat6498
    @fanakauntnadonat6498 Жыл бұрын

    Можно КОД из видио

  • @user-ch2tx6ud1f
    @user-ch2tx6ud1f2 жыл бұрын

    11:02

  • @daniilbelyaev2778
    @daniilbelyaev27784 жыл бұрын

    С долей экспериментаторства вышло как-то так, только что-то меня в этом "счастье" смцщает -____- 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 сразу выводится на экран и спрашивает значение. Также могу дать прикольную идею, добавь в базу данных некоторые фильмы + их рейтинг(через файлы).

  • @alexanderpadalka5708
    @alexanderpadalka57083 жыл бұрын

  • @FilmicFil
    @FilmicFil4 жыл бұрын

    ugly же вроде страшный. злой - angry

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    так перевели

  • @FilmicFil

    @FilmicFil

    4 жыл бұрын

    @@zaemiel Я не знал что фильм в оригинале так называется)

  • @vadim.islamov
    @vadim.islamov Жыл бұрын

    олег! вы живы и здоровы, надеюсь?!

  • @pythonForEvOne
    @pythonForEvOne4 жыл бұрын

    не плохо, но контент только для совсем нулевых, хотелось бы увидеть более глубокий разбор функций, и примеров хотелось бы более реальных!

  • @leo_need

    @leo_need

    3 жыл бұрын

    Ты дурачок? Написано же "Основы..." хоти себе дальше, что угодно!

  • @vadim.islamov
    @vadim.islamov Жыл бұрын

    или, лямбы не правильны в прогах?

  • @vadim.islamov
    @vadim.islamov Жыл бұрын

    п-т. так правильно? 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)

  • @user-wz9qr6ki9v
    @user-wz9qr6ki9v3 жыл бұрын

    джаваскрипт понятнее .

  • @user-xg4pg7dj6j
    @user-xg4pg7dj6j4 жыл бұрын

    Вот вообще не понял ...

  • @3De_Mir
    @3De_Mir3 жыл бұрын

    а вы преподаватель?

  • @Glavny_po_vsemu
    @Glavny_po_vsemu3 жыл бұрын

    Снова окошки и снова нихрена не понятно !

  • @alexyzzka
    @alexyzzka2 жыл бұрын

    Слишком много непонятных терминов для новичка. Я не понял практически ничего, изза непонятных мне терминов. Я хочу научиться, но в итоге теряюсь среди неизведанного

  • @best_video_guru
    @best_video_guru4 жыл бұрын

    Для новичков сложновато изъясняешься. И на мой взгляд воды многовато. Больше все таки для тех кто уже знаком с программированием.

  • @zaemiel

    @zaemiel

    4 жыл бұрын

    Воды там нет вообще. Сложновато? Возможно.

  • @Alex-qp8iy

    @Alex-qp8iy

    4 жыл бұрын

    Лично я в программировании ноль, но мне нормально заходит. Пока не вижу ничего не понятного. Много надо запомнить - это да. Но ничего сложного.

  • @user-id1mn7rq5h

    @user-id1mn7rq5h

    4 жыл бұрын

    @@zaemiel воды нет, не слушай их. Все понятно.Было время давненько, когда я C# взялся изучать по шилдту, так вот там иногда затупы были конечно) пайтон после си шарпа как глоток воздуха, минимум ограничений, максимум свободы) Про функции мне нравится, когда объясняют как параллель с математическими функциями (по сути так и есть).

  • @hidekidadzai353

    @hidekidadzai353

    4 жыл бұрын

    Сложновато? Ты смотрел видосы у хауди и Георгий дударь? Вот у них сложно.

  • @tahirjalilov

    @tahirjalilov

    4 жыл бұрын

    @@hidekidadzai353 у хауди вообще видосы не о чем.

  • @epiphanyl3471
    @epiphanyl34713 жыл бұрын

    Вы мошенник, делать это бесплатно, курсы по пойтону от N школы берут за это деньги , а вы просто так)

  • @user-dw6yq1nj3i

    @user-dw6yq1nj3i

    3 жыл бұрын

    Ты сам понял что написал?

  • @montecristo31

    @montecristo31

    3 жыл бұрын

    @@user-dw6yq1nj3i рофл...

  • @vadim.islamov
    @vadim.islamov Жыл бұрын

    я всё за домашку).. это катит? #!/usr/bin/python3 a = input('назови картину: ') b = eval(input('оцени по пятибальной шкале: ')) f = lambda a, b: print(f'Фильм "{a.title()}" - твоя оценка {b}.') f(a, b)