Основы Python #6: функции
Мои курсы:
Boosty:
boosty.to/omolchanov/posts/99...
Patreon:
/ karty-vsekh-41011404
Создание функций в Python. Вызов функций. Передача аргументов. Позиционные, именованные аргументы.
Разница между параметрами и аргументами.
Серия уроков по основам Python
Пікірлер: 106
Официально лучшее видео по Python! И это никто не оспорит
В целом понятнее, чем у других, но прежде всего нужно ознакомить людей на конкретных примерах со всеми используемыми терминами. Я имею ввиду в каждом видео конкретно тыкать курсором и говорить: это параметр, это аргумент, это функция и т.д. в зависимости от того, какая тема видео.
@dimitrisklimenko6769
Жыл бұрын
eto mozno i samomy iskat, v programirovanii vazno umet iskat i pererabativat informaciy. No ti vse delu govorish.
Каждое слово наполнено смыслом, пересматриваю и каждый раз узнаю что-то новое.
@vadim.islamov
Жыл бұрын
так библию читают)..
Отличнейшие видео! Всё очень доступно. Спасибо большое, Олег.
Спасибо, Олег курс просто огонь. Кстати и визуальная состовляющая курса (это конечно мало важно, но), на порядок круче предыдущих !!! Добра тебе, мужик и еще раз огромнное спасибо!
@zaemiel
4 жыл бұрын
"Визуальная составляющая" - это что такое? Надписи эти?
@zaemiel
4 жыл бұрын
Спасибо за отзыв
@artem_sh564
4 жыл бұрын
@@zaemiel ага))) оформление, картинки, надписи всякие, цвета))
9:22 - в чем разница между параметрами и аргументами функции. Собственно ответ на вопрос. 11:02 - правило сопоставления аргументов функции. 19:00 - return и для чего функции должны вызывать результат своей работы. 21:30 - последовательный вызов методов.
Хорошая работа, Олег.
Так понятно и подробно объяснять - незаконно! ))
Объясняете доступно, хорошие и понятные примеры. Приняла и усилила свои слабые стороны в данной теме) Очень рада, что нашла ваши уроки, лайк.
Отличные уроки!!! планирию просмотреть всё на канале. Главное не забывать ставить лайки :)
Вот так теперь понятно , автору респект👍
Большое спасибо, Олег! Вы очень хорошо объясняете.
Жаль я не нашла ваши уроки раньше... ! Вы лучший учитель !😍😊 Спасибо 😊
Официально лучшее видео по Python!
Хорошее видео! Я бы только ещё добавил что на "return" функция останавливается.
@zaemiel
4 жыл бұрын
хорошее замечание.
@Gleb_Pastushenko
3 жыл бұрын
Было бы неплохо про *args, **kwargs добавить, как логичное продолжение позиционных и именованных аргументов.
@luka63003
Жыл бұрын
@@Gleb_Pastushenko нет, было бы плохо, мы ещё не проходили кортежи и словари, поэтому рано пока
Большое спасибо не как не мог разобраться с функциями респект тебе 🤝🏻🙏🏻
Очень понятно объясняете , спасибо все понял)
Спасибо, очень познавательно и понятно.
Класс, очень прозрачно
спасибо, доступно для новичков, хорошо поставлен голос
"Плохой, хороший, злой" лучший вестерн всех времён и народов. Советую посмотреть, или пересмотреть. Офигительный фильм.
@Zeding_Stuff
2 жыл бұрын
Джанго освобожденный тоже неплох
Super guide >3
Топ, спасибо большое
Спасибо
Спасибо! Даже кот понял сейчас отобрал ноут сидит работает
Страх начинается когда вводят self, __init__, super()
ВСЁ ПОНЯТНО!!!!!!!!!!!!!
Интересный факт: под любым обучающим видео в комментариях есть фразы "Вы лучший учитель...", "Жаль я не нашёл(нашла) ваши уроки раньше...", "всё очень доступно и понятно...". И всем всё понятно и доступно, а программистов как не было так и нет
объясняет как для тупых, т.е. именно то, что мне нужно
Супер видео, даже мой почти деревянный моск осознал как работают функции), но не получается разобраться с "буфером" между функций, чтоб они меняли значение переменных и возвращали данные обратно!
@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')
Как новичку, были непонятны определения "объявление функции", "определение функции" и "инициализация функции". Вроде в видео проскальзывают определения, но разницы я не почувствовала. Переваривала c чатом GPT, выдаю другим новичкам в сжатом и простом виде: - Объявление функции (через def) - мы пишем её имя и параметры: def greet(a, b): - Определение (=создание) функции - мы заполняем тело функции кодом, который она исполнит в случае обращения к ней. def greet(a, b): result = a+b print(result) - Инициализация функции - создание объекта функции в памяти при запуске строчки с объявленной и определенной функцией, к которому Python обратится позже, если мы вызовем функцию.
@zaemiel
3 ай бұрын
все одно и тоже. Ключевое слова def - это сокращение от define - т.е. "определить", "объявить" функцию. Обычно не говорят про инициализацию функций - это слишком сложно и неудобно произносить как на русском, так и на английском языках. Говорят о создании, объявлении или определении функций. А какой-то технической разницы между этими терминами нет.
в параметрах функции пишим муви,рейтинг. в теле функции вот эту строку резулт = бла бла бла и принт результ не забывает, и потом при вызове функции вставляем аргументы название фильма и рейтинг
Пам-пам-пам Вот и коммент для продвижения
Всё понятно,кроме return ..вроде она возвращает результат,а вроде игнорируется,когда мы сами вводим(ручками) значение/имя в окошко аргумента функции при вызове!
Очень понятно. Спасибо. Некрасиво только то, что переменные раньше функции написал, не поПепски это, а всё остальное прекрасно.👍
Подскажите, как писать функцию def наклонным шрифтом?
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
3 жыл бұрын
import math def log(x,y): l = math.log(x,y) return l print(log(64,2)) еще немного поигравлся с функциями print( :-) ) хотя тут можно было конечно просто испльзовать модуль math.log(X, [base]) наверное
10.30 - А почему когда я пишу то же самое, питон ругается: "name 'result' is not defined"?
Можете объяснить другими словами или на каких-то примерах не из программирования, что такое функция return? Что значит "возвращать" конкретно здесь? Запутался я что-то.
@user-wz8ln2om6i
3 жыл бұрын
yandex.ru/q/question/funktsiia_return_v_python_f0afd72a/ Представьте, что функция - это Ваш помощник (робот или человек, не важно). Для того, чтобы он действительно помогал, ему нужно сообщить всего 2 вида информации: как нужно делать и с чем эти действия производить. Когда помощник закончит свою работу, он должет передать результат своей работы назад Вам. Теперь подставляем вместо: передать в функцию >>> сообщить помощнику, аргументы >>> информация о том с чем производить действия, операторы >>> информация о том, какие действия нужно произвести с аргументами, возвращать >>> оператор (команда) передать назад результат. Я правда старался попроще =)
@ppg2221
Жыл бұрын
@@user-wz8ln2om6i но ведь я могу просто вызвать функцию к примеру : greet(message, name) и получу результат в виде print(result) и это получится без return . Тут наверно смысл применения return в том, что функция выполнив свое действие как бы стирает используемые до этого значения . А return при этом ещё и останавливает функцию. Всё, что будет после return, функция не увидит. И return как раз возвращает предыдущие используемые значение, чтобы их ещё раз дальше использовать . К примеру использовать потом в другой переменной. Я как то так понял этот return .... Единственное, я пока не могу применить функцию к примеру в начале ролика , где два разных фильма и рейтинг на каждый из этих фильмов тоже разный ..... Я так понял, что при применение этой функции, код должен упростится , меньше строк займет , типа dry получится :)
@user-wz8ln2om6i
Жыл бұрын
@@ppg2221 отлично и забористо объясняете, продолжите из любой точки далее, пожалуйста...
@ppg2221
Жыл бұрын
@@user-wz8ln2om6i Не совсем понял. Это сарказм или что ? :/ Просто , так как я новичок , то большая вероятность ошибок в моих объяснениях .... . Я там добавил, что return ещё останавливает функцию , все что будет после return, функция как бы не увидит . И то я думаю , что не совсем понял это. Так что сейчас читаю другие источники про функции и return . Так как постоянно чувствую не договоренность в объяснениях кем либо , практически всегда возникают вопросы ....
@ppg2221
Жыл бұрын
@@user-wz8ln2om6i ок. Сейчас почитаю . Просто чтобы понять смысл return, наверно нужно для начинающих, привести примеры кода, где без return не обойтись .
Народ, никто не в курсах, как установить переменные в функцию через__kwdefaults__ чтобы можно было потом использовать def foo(): return a+b foo.__kwdefaults__ = {"a":1,"b":2} Но если запустить функцию, он не найдет переменных a,b Как сделать чтоб он их нашел?
Вы говорите, что методы - это функции, которые принадлежат конкретному классу. Но ведь функции, которые мы создаем тоже принадлежат классу "function", следовательно, любая функция - это метод. Можете пояснить?
@zaemiel
4 жыл бұрын
Здесь нет противоречия. Посмотрите на методы функций.
@user-oi1zl6de8i
4 жыл бұрын
Я скорее не про противоречие, а про корректность разделения некоторых объектов на функции и методы по признаку принадлежности к классу. На мой взгляд, мы получаем циклическое определение: методы - это функции, а функции - это методы.
@zaemiel
4 жыл бұрын
функция, которую вы создаете является экземпляром класса. Методы - это атрибуты класса. Если сама по себе функция является атрибутом класса, то она - метод.
@user-oi1zl6de8i
4 жыл бұрын
@@zaemiel Понял. Спасибо.
То есть greet просто помогает сократить объем кода, хотя по сути это тот же print?
@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 Как-то так.
У меня вопрос, а вы код пишите по стандарту pep8 ?
Как называется компилятор?
@Dagon0230
3 жыл бұрын
это не компилятор, а редактор кода Atom. Довольно неплохой, и расширений на него довольно много ;-)
5:16 Как он так сделал?
line 3 обьясните значениие символа f ,cпасибо
@DenisTrebushnikov
3 жыл бұрын
если вдруг еще не знаете или таки не посмотрели пред-предыдущее видео о строках. f' ' - с версии Пайтона 3.6 дублирует метод .format(), на простом использовании - она удобнее.
А что у вас за ОС ?
@leo_need
3 жыл бұрын
Ну видно же, что это Linux. Скорее всего Linux Mint
Можно КОД из видио
11:02
С долей экспериментаторства вышло как-то так, только что-то меня в этом "счастье" смцщает -____- 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
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
4 жыл бұрын
чел, если пишешь input("...") Не обязательно писать print, у тебя input сразу выводится на экран и спрашивает значение. Также могу дать прикольную идею, добавь в базу данных некоторые фильмы + их рейтинг(через файлы).
™
ugly же вроде страшный. злой - angry
@zaemiel
4 жыл бұрын
так перевели
@FilmicFil
4 жыл бұрын
@@zaemiel Я не знал что фильм в оригинале так называется)
олег! вы живы и здоровы, надеюсь?!
не плохо, но контент только для совсем нулевых, хотелось бы увидеть более глубокий разбор функций, и примеров хотелось бы более реальных!
@leo_need
3 жыл бұрын
Ты дурачок? Написано же "Основы..." хоти себе дальше, что угодно!
или, лямбы не правильны в прогах?
п-т. так правильно? 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)
джаваскрипт понятнее .
Вот вообще не понял ...
а вы преподаватель?
Снова окошки и снова нихрена не понятно !
Слишком много непонятных терминов для новичка. Я не понял практически ничего, изза непонятных мне терминов. Я хочу научиться, но в итоге теряюсь среди неизведанного
Для новичков сложновато изъясняешься. И на мой взгляд воды многовато. Больше все таки для тех кто уже знаком с программированием.
@zaemiel
4 жыл бұрын
Воды там нет вообще. Сложновато? Возможно.
@Alex-qp8iy
4 жыл бұрын
Лично я в программировании ноль, но мне нормально заходит. Пока не вижу ничего не понятного. Много надо запомнить - это да. Но ничего сложного.
@user-id1mn7rq5h
4 жыл бұрын
@@zaemiel воды нет, не слушай их. Все понятно.Было время давненько, когда я C# взялся изучать по шилдту, так вот там иногда затупы были конечно) пайтон после си шарпа как глоток воздуха, минимум ограничений, максимум свободы) Про функции мне нравится, когда объясняют как параллель с математическими функциями (по сути так и есть).
@hidekidadzai353
4 жыл бұрын
Сложновато? Ты смотрел видосы у хауди и Георгий дударь? Вот у них сложно.
@tahirjalilov
4 жыл бұрын
@@hidekidadzai353 у хауди вообще видосы не о чем.
Вы мошенник, делать это бесплатно, курсы по пойтону от N школы берут за это деньги , а вы просто так)
@user-dw6yq1nj3i
3 жыл бұрын
Ты сам понял что написал?
@montecristo31
3 жыл бұрын
@@user-dw6yq1nj3i рофл...
я всё за домашку).. это катит? #!/usr/bin/python3 a = input('назови картину: ') b = eval(input('оцени по пятибальной шкале: ')) f = lambda a, b: print(f'Фильм "{a.title()}" - твоя оценка {b}.') f(a, b)