Немного вечерней математики
Недавно писал что собираюсь пройти три курса: Добрый, добрый Python с Сергеем Балакиревым, Добрый, добрый Python ООП - обучающий курс от Сергея Балакирева, Добрый, добрый Django + Docker с Сергеем Балакиревым. Я раньше прикидывал время сколько это может примерно занять, но никогда не думал почему именно столько. Если смотреть в мобильном приложении инфо/описание курса, то там показывает примерное время прохождения этого материала(странно что в компьютерной версии на сайте такого нет).
Это составляется от виденья автора. Но давайте посчитаем сколько займет у меня это. 69 + 125 + 41 часов соответственно. В сумме = 235. Ноооо, т.к. там почти везде подача в форме видео, то можно смело умножать на два, в моем случае. Есть так же текстовый вариант, однако автор так хорошо объясняет, что я тут пожалуй буду больше смотреть, чем читать материал. А письменный вариант будет как хорошая шпаргалка. Выходит 470 часов. Если заниматься каждый день по 4 часа, то это 117 дней, а это почти 4 месяца.😟😟😟Если по 8, как на работе, то сократится). Наверно поэтому чисто интуитивно я сам себе давал три месяца на это всё.
Звучит не так весело, как я думал. Но в недавней статье про регулярке прочитал такую хорошее замечание:
""Помните про основу эффективного тайм-менеджмента? Слона надо есть по частям. Допустим, после отпуска накопилась гора писем. Смотришь на нее и сразу впадаешь в уныние: — Ууууууу, я это за день не закончу! Проблема в том, что груз задачи мешает работать. Мы ведь понимаем, что это надолго. А большую задачу делать не хочется... Поэтому мы ее откладываем, беремся за задачи поменьше. В итоге да, день прошел, а мы не успели закончить. А если не тратить время на размышления «сколько времени это у меня займет», а сосредоточиться на конкретной задаче (в данном случае — первом письме из стопки, потом втором...), то не успеете оглянуться, как уже всё разгребли!"""
Вот возможно у меня так же и было, что откладывал основные курсы, отвлекаясь на более мелкие по питону или другой стек технологий. Думал три месяца, жуть как много. И не начинал. Но как оно было раньше - не помню. Это лишь мысли на себя, глядя назад. Может кто-то в этом узнал себя🙃
Но как бы то ни было, уже около полугода прошло как вернулся в программирование. Пора двигаться дальше, идти в гору). Ведь уже на какой-то уровень продуктивности вышел. Осталось чуть-чуть сменить спектр направления😁Посмотрим сколько у меня это займет. Хотя наверно лучше не смотреть и не загадывать, а просто двигаться вперед, каждый день, выполняя поставленный план.
P.S.Еще немного добавлю мотивации.
Недавно наткнулся на один канал про человека, который тоже входил в айти. Как я понял из его видосов (особо прям не вдавался в подробности и не смотрел много), он за 13 месяцев с нуля обучился и нашел работу. У него стек react, html, css, js. Так что всё реально - главное упорство!
Недавно писал что собираюсь пройти три курса: Добрый, добрый Python с Сергеем Балакиревым, Добрый, добрый Python ООП - обучающий курс от Сергея Балакирева, Добрый, добрый Django + Docker с Сергеем Балакиревым. Я раньше прикидывал время сколько это может примерно занять, но никогда не думал почему именно столько. Если смотреть в мобильном приложении инфо/описание курса, то там показывает примерное время прохождения этого материала(странно что в компьютерной версии на сайте такого нет).
Это составляется от виденья автора. Но давайте посчитаем сколько займет у меня это. 69 + 125 + 41 часов соответственно. В сумме = 235. Ноооо, т.к. там почти везде подача в форме видео, то можно смело умножать на два, в моем случае. Есть так же текстовый вариант, однако автор так хорошо объясняет, что я тут пожалуй буду больше смотреть, чем читать материал. А письменный вариант будет как хорошая шпаргалка. Выходит 470 часов. Если заниматься каждый день по 4 часа, то это 117 дней, а это почти 4 месяца.😟😟😟Если по 8, как на работе, то сократится). Наверно поэтому чисто интуитивно я сам себе давал три месяца на это всё.
Звучит не так весело, как я думал. Но в недавней статье про регулярке прочитал такую хорошее замечание:
""Помните про основу эффективного тайм-менеджмента? Слона надо есть по частям. Допустим, после отпуска накопилась гора писем. Смотришь на нее и сразу впадаешь в уныние: — Ууууууу, я это за день не закончу! Проблема в том, что груз задачи мешает работать. Мы ведь понимаем, что это надолго. А большую задачу делать не хочется... Поэтому мы ее откладываем, беремся за задачи поменьше. В итоге да, день прошел, а мы не успели закончить. А если не тратить время на размышления «сколько времени это у меня займет», а сосредоточиться на конкретной задаче (в данном случае — первом письме из стопки, потом втором...), то не успеете оглянуться, как уже всё разгребли!"""
Вот возможно у меня так же и было, что откладывал основные курсы, отвлекаясь на более мелкие по питону или другой стек технологий. Думал три месяца, жуть как много. И не начинал. Но как оно было раньше - не помню. Это лишь мысли на себя, глядя назад. Может кто-то в этом узнал себя🙃
Но как бы то ни было, уже около полугода прошло как вернулся в программирование. Пора двигаться дальше, идти в гору). Ведь уже на какой-то уровень продуктивности вышел. Осталось чуть-чуть сменить спектр направления😁Посмотрим сколько у меня это займет. Хотя наверно лучше не смотреть и не загадывать, а просто двигаться вперед, каждый день, выполняя поставленный план.
P.S.Еще немного добавлю мотивации.
Недавно наткнулся на один канал про человека, который тоже входил в айти. Как я понял из его видосов (особо прям не вдавался в подробности и не смотрел много), он за 13 месяцев с нуля обучился и нашел работу. У него стек react, html, css, js. Так что всё реально - главное упорство!
🔥7
Наконец-то расчехлил))😁 Разбираюсь потихоньку. Пока вроде всё понятно. Зря откладывал, получается) Но блин, время почему-то улетучивается очень быстро.
И еще один момент, мне это надо будет заного ставить. Т.к. планирую скоро винду сносить. Либо после прохождения докера, или на крайняк после первого курса Балакирева. Ну одно радует, там совсем простая установка, без танцев с бубной, но при условии что у тебя на винде стоит WSL 2.
И еще один момент, мне это надо будет заного ставить. Т.к. планирую скоро винду сносить. Либо после прохождения докера, или на крайняк после первого курса Балакирева. Ну одно радует, там совсем простая установка, без танцев с бубной, но при условии что у тебя на винде стоит WSL 2.
👏5
3 часа за три дня😁
Это я про плейлист докера. Могу, умею практикую🙃И снова прихожу к выводу, что через видео у меня как-то не идет нормально заниматься. «То ли я дурак, то ли лыжи не едут». Слишком времязатратно получается. Х4-Х5 - это базовый минимум от хронометрожа. А в эти последние дни так вообще идет ЧМ по волейболу и еще один турик в России - смотрю, и повторы в том числе.
Как я делаю - обычно повторяю за автором, чтобы получилось так же, иногда ловлю ошибки, исправляю их, но чаще всего это опечатки просто. А потом когда он говорит то что уже было - пытаюсь по памяти сам написать. Так же уходит время на сворачивание/разворачивание окон. А если по больше одной делать - не очень удобно, мелковато. А тут браузер, IDE, docker Dekstop, powershell, в ТГ еще самому себе заметки оставляю. Самое смешное, что всё синее, даже в этом можно запутаться и потерять время😂😂
Мне вот интересно, а как у вас происходит изучение материала по видео? Мб я что-то делаю не так? Поделитесь советами)🤕
Не знаю, наверно была какая-то психологическая преграда в нем, которую не мог сам себе объяснить. Вроде и надо было пройти для хард скилов, но не то чтобы сейчас прям сильно надо, но и не пропускал его изучение, из-за чего думаю сидел много на повторении. Крч, не знаю точно что это было😁, так. мысли вслух)🙂
Ну а вообще хорошо что наконец завершил. Теперь могу двигаться дальше.
В планах немного переделать "текущий roadmap" в закрепе. Старый останется таким же, но добавлю новый, который будет обновляться. Т.е. что проходил, когда начал материал, когда закончил и за сколько. Думаю это больше для себя, как дневник, но так же для вас будет полезно, чтобы понимать сколько примерно времени уходит на все это. Еще постараюсь, если не забуду считать, добавить туда кол-во затраченных на это часов. Но тут индивидуально естественно
Это я про плейлист докера. Могу, умею практикую🙃И снова прихожу к выводу, что через видео у меня как-то не идет нормально заниматься. «То ли я дурак, то ли лыжи не едут». Слишком времязатратно получается. Х4-Х5 - это базовый минимум от хронометрожа. А в эти последние дни так вообще идет ЧМ по волейболу и еще один турик в России - смотрю, и повторы в том числе.
Как я делаю - обычно повторяю за автором, чтобы получилось так же, иногда ловлю ошибки, исправляю их, но чаще всего это опечатки просто. А потом когда он говорит то что уже было - пытаюсь по памяти сам написать. Так же уходит время на сворачивание/разворачивание окон. А если по больше одной делать - не очень удобно, мелковато. А тут браузер, IDE, docker Dekstop, powershell, в ТГ еще самому себе заметки оставляю. Самое смешное, что всё синее, даже в этом можно запутаться и потерять время😂😂
Мне вот интересно, а как у вас происходит изучение материала по видео? Мб я что-то делаю не так? Поделитесь советами)🤕
Не знаю, наверно была какая-то психологическая преграда в нем, которую не мог сам себе объяснить. Вроде и надо было пройти для хард скилов, но не то чтобы сейчас прям сильно надо, но и не пропускал его изучение, из-за чего думаю сидел много на повторении. Крч, не знаю точно что это было😁, так. мысли вслух)🙂
Ну а вообще хорошо что наконец завершил. Теперь могу двигаться дальше.
В планах немного переделать "текущий roadmap" в закрепе. Старый останется таким же, но добавлю новый, который будет обновляться. Т.е. что проходил, когда начал материал, когда закончил и за сколько. Думаю это больше для себя, как дневник, но так же для вас будет полезно, чтобы понимать сколько примерно времени уходит на все это. Еще постараюсь, если не забуду считать, добавить туда кол-во затраченных на это часов. Но тут индивидуально естественно
🔥3
Добрый вечер, надеюсь никто еще в 10 часов не спит🙃 Пока не забыл, оставляю краткий обзор по недавнему материалу по Docker. Надеюсь кому-то будет полезно краткое описание🙂P.S. Первый пост(с картинкой по установке) выкатил после 5 пройденных и разобранных видосов.
Что там было:
0) Описание сути докера
1) Подробная установка Docker на комп.
2-3-4) Создание образов, контейнеров. Так же их удаление, пересобирание. В общей сложности почти час времени(не учебного, а которое по минутам). . Это было хорошо, и легко, но дальше стало пропадать время😅😅😅
5) Углубление в команды докера: Показываются ньюансы, которые считаются нужными. Ну хз. Для моего текущих целий - будто бы много лишней инфы. Да полезно, но сейчас я врядли буду проверять все контейнеры, искать их по статусам запуска, как они завершились, приостановлены ли, перезапускались ли и т.д. и т.п. Еще кучи флагов, которые даже если запомню, то через время забуду. потому что скорее всего не так часто на данный момент буду пользоваться докером.
6) Про работу с портами: написали приложение с одной начальной пустой страницей, показали как его открыть в браузере, связать с докером. И рассмотрены различные случаи использования, с постепенным изучением. Надеюсь все верно понял и описал по памяти. Если что поправьте.
7) Работа с томами: (volumes). Есть три способа связать содержимое контейнера докера с тем, откуда ты берешь данные для него. Каталог докера к каталогу hosta(твоей системы) или же связать папку внутри контейнера docker-а с томом, который мы создадим командой для хранения данных. 3 вариант аналогичен второму, просто названия даем не мы, а создаются автоматически.
8) Создание микросервисных проектов: Т.е. создаются разные контейнеры(например: Django, postgress, react js, adminer и т.д.), которые будут взаимодействовать между собой в рамках внутренней среды внутри докера. Показан простой пример совместной работы на flask + postgresql + adminer
9) Docker compose: Крч, чтобы не писать все команды для создания образов и их соединения для совместной работы, пишут всё в одном файле - compose.yml. В нем описываются этапы построения мультисервисного построения. В материале подробно разбирается что да как, с теорией вопросов нет. Осталось применять на практике.
10) Проект Django с Postgresql и Nginx: Думаю название говорит само за себя. Можно просмотреть для понимания работы докера и составления файла compose.yml. Повторять за автором нет смысла, т.к. там уже готовый проект на Django, с данными таблицами в json, готовыми настройками для nginx, и т.д. и т.п.
Итог по материалу:
По теории прокачался, стало понятно что это, как работает. Все хорошо. Нооо, нужна практика)) Я наверное немного другого ожидал и хотел от этого плейлиста. Ну ничего, потом будет откуда взять инфу если что-то забуду или не пойму. Надо будет позже самостоятельно обернуть несколько своих проектов в докер, составить этот compose.yml и закускать. Но это уже совсем другая история😶😶😶
Что там было:
0) Описание сути докера
1) Подробная установка Docker на комп.
2-3-4) Создание образов, контейнеров. Так же их удаление, пересобирание. В общей сложности почти час времени(не учебного, а которое по минутам). . Это было хорошо, и легко, но дальше стало пропадать время😅😅😅
5) Углубление в команды докера: Показываются ньюансы, которые считаются нужными. Ну хз. Для моего текущих целий - будто бы много лишней инфы. Да полезно, но сейчас я врядли буду проверять все контейнеры, искать их по статусам запуска, как они завершились, приостановлены ли, перезапускались ли и т.д. и т.п. Еще кучи флагов, которые даже если запомню, то через время забуду. потому что скорее всего не так часто на данный момент буду пользоваться докером.
6) Про работу с портами: написали приложение с одной начальной пустой страницей, показали как его открыть в браузере, связать с докером. И рассмотрены различные случаи использования, с постепенным изучением. Надеюсь все верно понял и описал по памяти. Если что поправьте.
7) Работа с томами: (volumes). Есть три способа связать содержимое контейнера докера с тем, откуда ты берешь данные для него. Каталог докера к каталогу hosta(твоей системы) или же связать папку внутри контейнера docker-а с томом, который мы создадим командой для хранения данных. 3 вариант аналогичен второму, просто названия даем не мы, а создаются автоматически.
8) Создание микросервисных проектов: Т.е. создаются разные контейнеры(например: Django, postgress, react js, adminer и т.д.), которые будут взаимодействовать между собой в рамках внутренней среды внутри докера. Показан простой пример совместной работы на flask + postgresql + adminer
9) Docker compose: Крч, чтобы не писать все команды для создания образов и их соединения для совместной работы, пишут всё в одном файле - compose.yml. В нем описываются этапы построения мультисервисного построения. В материале подробно разбирается что да как, с теорией вопросов нет. Осталось применять на практике.
10) Проект Django с Postgresql и Nginx: Думаю название говорит само за себя. Можно просмотреть для понимания работы докера и составления файла compose.yml. Повторять за автором нет смысла, т.к. там уже готовый проект на Django, с данными таблицами в json, готовыми настройками для nginx, и т.д. и т.п.
Итог по материалу:
По теории прокачался, стало понятно что это, как работает. Все хорошо. Нооо, нужна практика)) Я наверное немного другого ожидал и хотел от этого плейлиста. Ну ничего, потом будет откуда взять инфу если что-то забуду или не пойму. Надо будет позже самостоятельно обернуть несколько своих проектов в докер, составить этот compose.yml и закускать. Но это уже совсем другая история😶😶😶
YouTube
Docker. Что это такое? | Docker для начинающих
Практический курс по Django + Docker: https://stepik.org/a/183363
Телеграм-канал Django: https://t.me/django_selfedu
Что такое docker, зачем он нужен, принцип работы.
Телеграм-канал Django: https://t.me/django_selfedu
Что такое docker, зачем он нужен, принцип работы.
👍4🐳2
Потихоньку готовлюсь к переустановке винды. А тут такое, пришла беда откуда не ждали. Это со страницы на скачивание Pycharm. В начале этого года было ок, но уже тогда нельзя было плагины скачивать на нее.
VPN-ом ранее не пользовался, не считая "zapret@" для ютуб, но видимо придется. Теперь не понятно где и от кого теперь можно подлянку ожидать. Хотя не, парочкой пользовался, но они были на лимит по Гб. И плюс через пару дней переставали работать(вечная загрузка сервера), прося приобрести подписку. Хитрые жуки...
Поэтому вопрос: Может тут есть кто пользуется и знает кто какой хороший сервис? Посоветуйте🙃 Желательно, конечно, бесплатный))😁Но мне кажется таких не существует.
P.S.
Начал проходить "Добрый, добрый Python".
VPN-ом ранее не пользовался, не считая "zapret@" для ютуб, но видимо придется. Теперь не понятно где и от кого теперь можно подлянку ожидать. Хотя не, парочкой пользовался, но они были на лимит по Гб. И плюс через пару дней переставали работать(вечная загрузка сервера), прося приобрести подписку. Хитрые жуки...
Поэтому вопрос: Может тут есть кто пользуется и знает кто какой хороший сервис? Посоветуйте🙃 Желательно, конечно, бесплатный))😁Но мне кажется таких не существует.
P.S.
Начал проходить "Добрый, добрый Python".
🤔3🤩1
Мой текущий Road Map Python-разработчика. Версия betta:0.01😃 Обновлено 23.09.26.
Здесь будет то что я прохожу/планирую проходить, когда это начал/закончил и какие материалы для этого изучал. На данный момент здесь не так много, будет расширяться и обновляться по мере завершения этапов. Возможно объединю с первой версией, но пока что оставлю это так.
Собственно план:
🔸) Python - База:
Добрый, добрый Python с Сергеем Балакиревым — (29.09.25 — 08.10.2025)
🔸) Python ООП:
Добрый, добрый Python ООП - обучающий курс от Сергея Балакирева — (17.10.25 — 18.12.25) (по факту 30-40 дней без пропусков)
ООП Python: Часть 1 — (25.02.26 — 26.02.26)
ООП Python: Часть 2 — (27.02.26 — 1.03.26)
🔸) Django
Джанго Балакирева (23.09.26 - ..**)
🔸)Wait for the next updates
Здесь будет то что я прохожу/планирую проходить, когда это начал/закончил и какие материалы для этого изучал. На данный момент здесь не так много, будет расширяться и обновляться по мере завершения этапов. Возможно объединю с первой версией, но пока что оставлю это так.
Собственно план:
🔸) Python - База:
Добрый, добрый Python с Сергеем Балакиревым — (29.09.25 — 08.10.2025)
🔸) Python ООП:
Добрый, добрый Python ООП - обучающий курс от Сергея Балакирева — (17.10.25 — 18.12.25) (по факту 30-40 дней без пропусков)
ООП Python: Часть 1 — (25.02.26 — 26.02.26)
ООП Python: Часть 2 — (27.02.26 — 1.03.26)
🔸) Django
Джанго Балакирева (23.09.26 - ..**)
🔸)
👍4🙏1
Исходя из вчерашней теории, такой вот вопрос был. Вроде бы база, а понимать надо.
P.s. процент верных решений - 19%🙃
P.S. ВЕРНЫЙ ОТВЕТ, не смотрите раньше времени)
Правильные варианты тут 1 и 3. Если переменной нет, то ее надо создать, что логично. Но переменная в питоне не хранит себе значение напрямую, она является ссылкой на объект, к которому она присваивается. А если мы меняем например значение переменной, то мы просто начинаем ссылаться на другой объект. Значит, исходя из этих удтверждений - верный ответ - 3 тоже. А вообще, все в питоне является объектами,(точнее ссылками на объекты) об этом говориться должно на первом вводном занятии)
P.s. процент верных решений - 19%🙃
P.S. ВЕРНЫЙ ОТВЕТ, не смотрите раньше времени)
👍4
Начал курс Добрый, добрый Python с Сергеем Балакиревым
В первом видео автор говорит что материал рассчитан на 4 месяца прохождения. Марафон, а не спринт. И что есть лимит усвоения информации за день, но у каждого он разный. Я с ним согласен, но надеюсь быстрее чем за 4 месяца управлюсь😁 Начал проходить, чтобы вспомнить возможно забытые пробелы в теории и некоторые ньюансы, т.к. этот курс охватывает многое. Очень хорошее объяснение в видео, есть так же текстовый краткий конспект. Но блин, кажется не так много прошел, а день пролетел, быстро🙈
Хотя и практики тут хватает. Если смотреть по задачкам на написание кода, то больше чем в любом курсе, который я видел или проходил, включая Поколения Пайтон, который я думал самый большой, но нет😁однако там больше тестовых задач, чем здесь. В Инди-курсе, только больше практических задач, но он затрагивает меньше тем. И например часть про функции платная. Ну это так, вводные чем хорош этот курс.
Если кто его еще не проходил - можете начать вместе со со мной)🙃Я его раньше начинал проходить, но не помню почему не закончил. Дело думаю в перерывах в обучении. И вот сейчас прохожу практику, про которую некоторые люди говорят, что душные задания или не понятные. Но хз, пока таки не встречал. Но может они просто сложнее чем в других курсах, а не просто отработать метод, повторив синтаксис. Смотрю свои решения 3-2-1 год назад и вижу, что 1 в 1 решаю в 95% случаях😂😂😂Это как понимать? даже переменные те же)))У меня тут два варианта, один хороший, и один плохой😑
Тут увидите что я за вчера успел пройти и чем занимался:
🔘) Почти 4 часа видео( 227 минут, если быть точнее), да, я посчитал, мне не лень😄
🔘) Решеные все практические задачи после этих лекций.
🔘) Пройденные Главы:
1) Первое знакомство: Темы: Установка Python, Pycharm. Если забыли - пригодится🙃
2) Мои первые шаги в Python: Темы: Переменные, оператор присваивания, функции type и id; Числа и операции над ними; Математические функции и работа с модулем math; Функции print и input; Логический тип Bool;
3) Постижение строк и списков: Темы: Введение в строки. Базовые операции над строками; Знакомство с индексами и срезами строк; Основные методы строk; Спецсимволы, экранирование символов, row-строки; Форматирование строк: метод format и F-строки;
4) Условные операторы: Темы: Условный оператор if. Конструкция if-else; Вложенные условия и множественный выбор. Конструкция if-elif-else; Тернарный условный оператор. Вложенное тернарное условие;
А для себя еще один лайфак сделал😶 Пока я перечисляю темы для поста - повторяю их в кратком конспекте на сайте. Кривая забывания Эббингауза в деле, все дела. Из всего перечисленного могу сказать что понимаю как это работает, так же применяю.
А теперь спросите себя, помните ли вы все эти темы, перечисленные выше?🧐Ниже будет список, основных моментов, которые были в этой теории. Можете себя проверить всё ли вы знаете как работает😈😈😈
Поехали:
Переменная, оператор присваивания, type(), числовые операции (+, -, *, /, **, //, %), функции модуля (частые) math:[ abs(), max(), min(), pow(), round(), ceil(), floor(), trunc(), log(), sqrt(), pi, e, sin(), cos() ]; print(*args, sep=' ', end='\n'), input(); логический тип bool(), and, or, not и их приоритеты.
строки: in, len(), сложение строк, срезы строк s[start, end, step], основные методы строк: upper(), lower(), count(), find(), index(), replace(), isalpha(), isdigit(), isalnum(), rjust(), ljust(), strip(), split(), join(), swapcase(), capitalize(), title(); экранирование строк через '\', сырые(r') строки, \n, \t, методы format(), f-строки.
Условный оператор: if, else; if-elif-else, вложенные условия, тернарный оператор (value if <условие> else another_value), вложенный тернарный
P.S.
Вышло многа буков. Настолько много, что еще кое-какая часть не влезет в этот пост)😅
В первом видео автор говорит что материал рассчитан на 4 месяца прохождения. Марафон, а не спринт. И что есть лимит усвоения информации за день, но у каждого он разный. Я с ним согласен, но надеюсь быстрее чем за 4 месяца управлюсь😁 Начал проходить, чтобы вспомнить возможно забытые пробелы в теории и некоторые ньюансы, т.к. этот курс охватывает многое. Очень хорошее объяснение в видео, есть так же текстовый краткий конспект. Но блин, кажется не так много прошел, а день пролетел, быстро🙈
Хотя и практики тут хватает. Если смотреть по задачкам на написание кода, то больше чем в любом курсе, который я видел или проходил, включая Поколения Пайтон, который я думал самый большой, но нет😁однако там больше тестовых задач, чем здесь. В Инди-курсе, только больше практических задач, но он затрагивает меньше тем. И например часть про функции платная. Ну это так, вводные чем хорош этот курс.
Если кто его еще не проходил - можете начать вместе со со мной)🙃Я его раньше начинал проходить, но не помню почему не закончил. Дело думаю в перерывах в обучении. И вот сейчас прохожу практику, про которую некоторые люди говорят, что душные задания или не понятные. Но хз, пока таки не встречал. Но может они просто сложнее чем в других курсах, а не просто отработать метод, повторив синтаксис. Смотрю свои решения 3-2-1 год назад и вижу, что 1 в 1 решаю в 95% случаях😂😂😂Это как понимать? даже переменные те же)))У меня тут два варианта, один хороший, и один плохой😑
Тут увидите что я за вчера успел пройти и чем занимался:
🔘) Почти 4 часа видео( 227 минут, если быть точнее), да, я посчитал, мне не лень😄
🔘) Решеные все практические задачи после этих лекций.
🔘) Пройденные Главы:
1) Первое знакомство: Темы: Установка Python, Pycharm. Если забыли - пригодится🙃
2) Мои первые шаги в Python: Темы: Переменные, оператор присваивания, функции type и id; Числа и операции над ними; Математические функции и работа с модулем math; Функции print и input; Логический тип Bool;
3) Постижение строк и списков: Темы: Введение в строки. Базовые операции над строками; Знакомство с индексами и срезами строк; Основные методы строk; Спецсимволы, экранирование символов, row-строки; Форматирование строк: метод format и F-строки;
4) Условные операторы: Темы: Условный оператор if. Конструкция if-else; Вложенные условия и множественный выбор. Конструкция if-elif-else; Тернарный условный оператор. Вложенное тернарное условие;
А для себя еще один лайфак сделал😶 Пока я перечисляю темы для поста - повторяю их в кратком конспекте на сайте. Кривая забывания Эббингауза в деле, все дела. Из всего перечисленного могу сказать что понимаю как это работает, так же применяю.
А теперь спросите себя, помните ли вы все эти темы, перечисленные выше?🧐Ниже будет список, основных моментов, которые были в этой теории. Можете себя проверить всё ли вы знаете как работает😈😈😈
Переменная, оператор присваивания, type(), числовые операции (+, -, *, /, **, //, %), функции модуля (частые) math:[ abs(), max(), min(), pow(), round(), ceil(), floor(), trunc(), log(), sqrt(), pi, e, sin(), cos() ]; print(*args, sep=' ', end='\n'), input(); логический тип bool(), and, or, not и их приоритеты.
строки: in, len(), сложение строк, срезы строк s[start, end, step], основные методы строк: upper(), lower(), count(), find(), index(), replace(), isalpha(), isdigit(), isalnum(), rjust(), ljust(), strip(), split(), join(), swapcase(), capitalize(), title(); экранирование строк через '\', сырые(r') строки, \n, \t, методы format(), f-строки.
Условный оператор: if, else; if-elif-else, вложенные условия, тернарный оператор (value if <условие> else another_value), вложенный тернарный
P.S.
Вышло многа буков. Настолько много, что еще кое-какая часть не влезет в этот пост)😅
❤3🔥3
Немного не хватило длины предыдущего поста, поэтому допишу здесь.🙂
А вот некоторые моменты, которые из этого я дополнительно для себя узнал, ну или вспомнил. Хотя тема начальная и не такая сложная. Но как говорится: "век живи, век учись, но не перебарщивай с этим"=)
Собственно вот:
Остаток от деления числа "а" на число "b", если один или оба из них отрицательные. Редко встречается, но все же знать полезно. Как ведет себя round() при граничных округлениях. Не совсем так как я ожидал)) Так же что у split() есть второй необязательный параметр maxsplit. Ииии, вишенка на торте😂 - вечно путаюсь с rjust(), ljust(). Думаю в дальнейшем эти или другие интересные ньюансы буду запускать как небольшие викторины с одним правильным ответом.
А вот некоторые моменты, которые из этого я дополнительно для себя узнал, ну или вспомнил. Хотя тема начальная и не такая сложная. Но как говорится: "век живи, век учись, но не перебарщивай с этим"=)
Собственно вот:
Остаток от деления числа "а" на число "b", если один или оба из них отрицательные. Редко встречается, но все же знать полезно. Как ведет себя round() при граничных округлениях. Не совсем так как я ожидал)) Так же что у split() есть второй необязательный параметр maxsplit. Ииии, вишенка на торте😂 - вечно путаюсь с rjust(), ljust(). Думаю в дальнейшем эти или другие интересные ньюансы буду запускать как небольшие викторины с одним правильным ответом.
🤗2
Интересная задачка дня
Ну и напоследок - полуночное шевеление мозгами) За вчера мне вот эта показалась интересной. Ссылка на задачу. К этому моменту в теории пройдено только переменные, строки и методы строк. Никаких условных операторов, списков или чего-то еще другого. Как бы вы решили без этого? Если пишете решение, то просьба делать это в "закрытом" виде, дабы не давать спойлеров другим. Спасибо)
Тесты можно найти по ссылке: https://github.com/selfedu-rus/test-python-base/blob/main/3/3.4.4/tests
Ну и напоследок - полуночное шевеление мозгами) За вчера мне вот эта показалась интересной. Ссылка на задачу. К этому моменту в теории пройдено только переменные, строки и методы строк. Никаких условных операторов, списков или чего-то еще другого. Как бы вы решили без этого? Если пишете решение, то просьба делать это в "закрытом" виде, дабы не давать спойлеров другим. Спасибо)
Тесты можно найти по ссылке: https://github.com/selfedu-rus/test-python-base/blob/main/3/3.4.4/tests
🤯3❤1
🤔3
Всем доброго времени курса! Продолжаю проходить курс Балакирева. Ниже поделюсь результатами за вчера. А у вас как день прошел вчера? Пишите в комментариях)
Пройденное за вчера:
🔘) Около 3 часа видео( 181 минута, если быть точнее), да, я посчитал, мне не лень😄
🔘) Решено половина задач по этим темам.
🔘) Пройденные Главы:
1) Списки: Темы: Списки - операторы и функции работы с ними; Срезы списков и сравнение списков; Основные методы списков; Вложенные списки, многомерные списки
2) Циклы, генераторы списков: Темы: Оператор цикла while; Операторы циклов break, continue и else; Оператор цикла for. Функция range(); Примеры работы оператора цикла for. Функция enumerate(); Итератор и итерируемые объекты. Функции iter() и next(); Вложенные циклы. Примеры задач с вложенными циклами; Генераторы списков (List comprehensions); Вложенные генераторы списков
Так же ниже будет список, основных моментов, которые были в этой теории. Можете себя проверить всё ли вы знаете как работает😈😈😈
Поехали:
Сложение списков, функции со списками len(), max(), min(), sum(), sorted(), sort; операторы: +, *, in, del; срезы списков, копирование: lst[::], list(lst), lst.copy(); id(), основные методы списков: append(), extend(), pop(), insert(), remove(), clear(), count(), index(), reverse(), многомерные списки или по-другому матрицы.
Цикл while, цикл for, else в конце них; операторы: break, continue, else; функция range(start, stop, step); enumerate(); Итератор vs итерируемый объект, next(), item(), вложенные циклы, генератор: [<значение> for <переменная> in <итерируемый объект> if <условие>], вложенный генератор списков [ [(i, j) for j in range(n)] for i in range(m)], получается матрица m на n.
Важные моменты из этого материала:
1) У циклов while, for может быть в конце стоять else, такой же как в условных операторах. Об этом мало где говорится, но такое есть, и это условие выполнится, если цикл завершит свою работу в штатном режиме, т.е. без оператора break.
2) Было рассказано про итератор и итерируемый объект. Это очень частый вопрос на собеседованиях. Лучше это выучите это один раз и запомните.
3) Списки - это изменяемые объекты - будьте осторожны при работе с ним. Если не правильно скопировать его и присвоить другой переменной, то при изменение у вас будут меняться сразу два списка, а не один.
4) Так же большинство методов списка аля sort(), append(), remove() и т.д меняют список на месте и не надо его переписаивать заного, т.к. эти методы(функции) возвращают None, т.е. вы просто потеряете переменную со списком.
5) Мб похоже на 4 пункт, но в print() сразу у вас не получится изменить список и вывести ожидаемый результат типо print([1, 2, 3].append(4)). Ответите мне почему?)
P.S.(не придумал название пункта🙃)
А сейчас я собственно на середине 5 главы. Времени на решение задач уходит уже поболее. Они тут не на тяп ляп составлены. Приходится чаще думать, чем сразу писать код, особенно, если решать только с пройденным материалом. Этим мне этот курс и нравится)
Пройденное за вчера:
🔘) Около 3 часа видео( 181 минута, если быть точнее), да, я посчитал, мне не лень😄
🔘) Решено половина задач по этим темам.
🔘) Пройденные Главы:
1) Списки: Темы: Списки - операторы и функции работы с ними; Срезы списков и сравнение списков; Основные методы списков; Вложенные списки, многомерные списки
2) Циклы, генераторы списков: Темы: Оператор цикла while; Операторы циклов break, continue и else; Оператор цикла for. Функция range(); Примеры работы оператора цикла for. Функция enumerate(); Итератор и итерируемые объекты. Функции iter() и next(); Вложенные циклы. Примеры задач с вложенными циклами; Генераторы списков (List comprehensions); Вложенные генераторы списков
Так же ниже будет список, основных моментов, которые были в этой теории. Можете себя проверить всё ли вы знаете как работает😈😈😈
Сложение списков, функции со списками len(), max(), min(), sum(), sorted(), sort; операторы: +, *, in, del; срезы списков, копирование: lst[::], list(lst), lst.copy(); id(), основные методы списков: append(), extend(), pop(), insert(), remove(), clear(), count(), index(), reverse(), многомерные списки или по-другому матрицы.
Цикл while, цикл for, else в конце них; операторы: break, continue, else; функция range(start, stop, step); enumerate(); Итератор vs итерируемый объект, next(), item(), вложенные циклы, генератор: [<значение> for <переменная> in <итерируемый объект> if <условие>], вложенный генератор списков [ [(i, j) for j in range(n)] for i in range(m)], получается матрица m на n.
Важные моменты из этого материала:
1) У циклов while, for может быть в конце стоять else, такой же как в условных операторах. Об этом мало где говорится, но такое есть, и это условие выполнится, если цикл завершит свою работу в штатном режиме, т.е. без оператора break.
2) Было рассказано про итератор и итерируемый объект. Это очень частый вопрос на собеседованиях. Лучше это выучите это один раз и запомните.
3) Списки - это изменяемые объекты - будьте осторожны при работе с ним. Если не правильно скопировать его и присвоить другой переменной, то при изменение у вас будут меняться сразу два списка, а не один.
4) Так же большинство методов списка аля sort(), append(), remove() и т.д меняют список на месте и не надо его переписаивать заного, т.к. эти методы(функции) возвращают None, т.е. вы просто потеряете переменную со списком.
5) Мб похоже на 4 пункт, но в print() сразу у вас не получится изменить список и вывести ожидаемый результат типо print([1, 2, 3].append(4)). Ответите мне почему?)
P.S.(не придумал название пункта🙃)
А сейчас я собственно на середине 5 главы. Времени на решение задач уходит уже поболее. Они тут не на тяп ляп составлены. Приходится чаще думать, чем сразу писать код, особенно, если решать только с пройденным материалом. Этим мне этот курс и нравится)
👏4😱1
Интересная задачка дня
Вот на ней почему-то долго засел. Есть еще и более интересные за сегодня, в другие дни выложу или нет, от вас всё зависит.
ссылка на задачу, ссылка на тесты к ней, если без них не решается.
А вообще на этом курсе много таких на подумать. Кто там хотел алгоритмы?) Сегодня прописал два варианта сортировок, которые я временно скипнул на другом курсе...Но от судьбы не уйдешь)
P.S.
Поставьте реакции или напишите коммент под этим постом. А то я не понимаю, надо оно вам или не надо. Практически не вижу тут никакой обратной связи. Грусть(
Вот на ней почему-то долго засел. Есть еще и более интересные за сегодня, в другие дни выложу или нет, от вас всё зависит.
ссылка на задачу, ссылка на тесты к ней, если без них не решается.
А вообще на этом курсе много таких на подумать. Кто там хотел алгоритмы?) Сегодня прописал два варианта сортировок, которые я временно скипнул на другом курсе...Но от судьбы не уйдешь)
P.S.
Поставьте реакции или напишите коммент под этим постом. А то я не понимаю, надо оно вам или не надо. Практически не вижу тут никакой обратной связи. Грусть(
🤯2❤🔥1😱1
✅Викторина. Проверка знаний.
Что выведет этот код?
string ='py' res = string.rjust(6, 0) print(res) P.S. (я это до сих пор часто путаю))
Что выведет этот код?
string ='py' res = string.rjust(6, 0) print(res) P.S. (я это до сих пор часто путаю))
Anonymous Quiz
30%
0000py
47%
py0000
7%
00py00
16%
ошибку
🤯2
Доброе времени суток! Занимаемся дальше.
Сделанное за вчера:
🔘) Около 1.5 часа видеолекций( 95 минут, если быть точнее), все еще не лень считать)😄
🔘) Дорешены задачи по спискам и новые в текущей главе - кортежи, словари, множества.
🔘) Пройденные Главы:
1) Словари, кортежи и множества: Темы: Введение в словари (dict). Базовые операции над словарями; Методы словаря, перебор элементов словаря в цикле; Кортежи (tuple) и их методы; Множества (set) и их методы; Операции над множествами, сравнение множеств; Генераторы множеств и генераторы словарей; Моржёвый операторация присваивания
Так же ниже будет список, основных моментов, которые были в этой теории. Можете себя проверить всё ли вы знаете как работает😈😈😈
Поехали:
Словари: {ключ1: значение1, ключ2: значение2}, создать словарь: d = {}, d =dict(), получение значения d[key] = value; основные методы словарей: fromkeys(), clear(), get(), setdefault(), pop(), popitem(), d.keys(), d.values(), d.items(), d.update();
Кортежи: - даже не знаю что написать, оч мало было. методы: index(), count() (плюс в чат, если ты это читаешь, проверим сколько таких)😑
Множества: создать пустое: set(), методы: add(), remove(), discard(), update(), pop(), clear(), операции со множествами: пересечение - &, объединение - |, setA.intersection_update(setB), setA.union(setB), вычитание - setA - setB, симметричная разность - ^; сравнение множеств: >, >=, <, <=, ==, !=,
Генераторы: например : множество a = {x 2 for x in range(1, 5)}, словарь a = {x: x 2 for x in range(1, 5)},
Важные моменты из этого материала:
1) Словари в ключах могут содержать только неизменяемые типы данных. Причем элемента ключа должны быть так же неизменяемы, иначе словите ошибку "unhashable type: 'list'"
2) Различие методов при удалении элемента словаря: d.remove(), d.discard(). В 1 случае вызовет ошибку, если нет ключа в словаре, во втором - нет
3) Кортежи - это неизменяемый тип данных. Однако изменяемые элементы его мы можем поменять🤓 Т.к. всё в питоне на ссылках на объекты завязано. Значит ссылку мы не меняем, а объект, на который ссылается эта ссылка можем сделать другим. И ничего не нарушим, кортеж остается тем же. т.е. его элементы будут ссылаться на изначальные объекты.
4) При копирование кортежа срезом по типу t[::] не будет получен новый кортеж, а просто будет еще одна переменная с сылкой на изначальный кортеж, который мы хотели копировать срезом.(со списками, например мы получаем новый объект)
5) Элементами множества могут быть только неизменяемые типы данных! При попытке запихнуть туда например список, получим ошибку, как в 1 пункте.
6) Генераторы. Не существует генератора кортежей, есть просто генератор, из которого мы можем получит кортеж при помощи встроенной функии tuple().
7) Морж. Самый "ленивая" операция присваивания. Имеет наименьше приоритет,т.е. срабатывает самой последней. И дабы избежать ошибок, всегда лучше оборачивать в скобки выражения типо (n = int(input())), или какие-то другие. Сколько раз я себя на этом ловил...теперь всегда оборачиваю в скобки его. Плюс так же лишний раз его лучше стараться не использовать, чтобы не получить неожидаемой работы программы. И такое может быть🙃
Итоги дня и выводы:
Сейчас закончил главу 6, про словари, множества, кортежи. На самом деле она составлена слабее, по сравнению с другими. Можно было б разделить на три и дописать побольше. Многие моменты не рассказаны. Пробежались вскользь. На каждый тип данных по 1 видосу, ну и дальше еще немного практики с их методами. Такими темпами, если проходить по 1 главе в день, то скоро закончу и перейду к ООП.
А еще впервые за последнее время хочется больше заниматься, т.к. попадаются такие задачи и получаешь кайф после их решения. Плюс пока еще могу много времени уделять обучению, надо это делать. Вдруг потом такого момента может не быть.☹️
Сделанное за вчера:
🔘) Около 1.5 часа видеолекций( 95 минут, если быть точнее), все еще не лень считать)😄
🔘) Дорешены задачи по спискам и новые в текущей главе - кортежи, словари, множества.
🔘) Пройденные Главы:
1) Словари, кортежи и множества: Темы: Введение в словари (dict). Базовые операции над словарями; Методы словаря, перебор элементов словаря в цикле; Кортежи (tuple) и их методы; Множества (set) и их методы; Операции над множествами, сравнение множеств; Генераторы множеств и генераторы словарей; Моржёвый операторация присваивания
Так же ниже будет список, основных моментов, которые были в этой теории. Можете себя проверить всё ли вы знаете как работает😈😈😈
Словари: {ключ1: значение1, ключ2: значение2}, создать словарь: d = {}, d =dict(), получение значения d[key] = value; основные методы словарей: fromkeys(), clear(), get(), setdefault(), pop(), popitem(), d.keys(), d.values(), d.items(), d.update();
Кортежи: - даже не знаю что написать, оч мало было. методы: index(), count() (плюс в чат, если ты это читаешь, проверим сколько таких)😑
Множества: создать пустое: set(), методы: add(), remove(), discard(), update(), pop(), clear(), операции со множествами: пересечение - &, объединение - |, setA.intersection_update(setB), setA.union(setB), вычитание - setA - setB, симметричная разность - ^; сравнение множеств: >, >=, <, <=, ==, !=,
Генераторы: например : множество a = {x 2 for x in range(1, 5)}, словарь a = {x: x 2 for x in range(1, 5)},
Важные моменты из этого материала:
1) Словари в ключах могут содержать только неизменяемые типы данных. Причем элемента ключа должны быть так же неизменяемы, иначе словите ошибку "unhashable type: 'list'"
2) Различие методов при удалении элемента словаря: d.remove(), d.discard(). В 1 случае вызовет ошибку, если нет ключа в словаре, во втором - нет
3) Кортежи - это неизменяемый тип данных. Однако изменяемые элементы его мы можем поменять🤓 Т.к. всё в питоне на ссылках на объекты завязано. Значит ссылку мы не меняем, а объект, на который ссылается эта ссылка можем сделать другим. И ничего не нарушим, кортеж остается тем же. т.е. его элементы будут ссылаться на изначальные объекты.
4) При копирование кортежа срезом по типу t[::] не будет получен новый кортеж, а просто будет еще одна переменная с сылкой на изначальный кортеж, который мы хотели копировать срезом.(со списками, например мы получаем новый объект)
5) Элементами множества могут быть только неизменяемые типы данных! При попытке запихнуть туда например список, получим ошибку, как в 1 пункте.
6) Генераторы. Не существует генератора кортежей, есть просто генератор, из которого мы можем получит кортеж при помощи встроенной функии tuple().
7) Морж. Самый "ленивая" операция присваивания. Имеет наименьше приоритет,т.е. срабатывает самой последней. И дабы избежать ошибок, всегда лучше оборачивать в скобки выражения типо (n = int(input())), или какие-то другие. Сколько раз я себя на этом ловил...теперь всегда оборачиваю в скобки его. Плюс так же лишний раз его лучше стараться не использовать, чтобы не получить неожидаемой работы программы. И такое может быть🙃
Итоги дня и выводы:
Сейчас закончил главу 6, про словари, множества, кортежи. На самом деле она составлена слабее, по сравнению с другими. Можно было б разделить на три и дописать побольше. Многие моменты не рассказаны. Пробежались вскользь. На каждый тип данных по 1 видосу, ну и дальше еще немного практики с их методами. Такими темпами, если проходить по 1 главе в день, то скоро закончу и перейду к ООП.
А еще впервые за последнее время хочется больше заниматься, т.к. попадаются такие задачи и получаешь кайф после их решения. Плюс пока еще могу много времени уделять обучению, надо это делать. Вдруг потом такого момента может не быть.☹️
🤯3
Интересная задачка дня:
ссылка на саму задачу, на ее тесты
Интересно как вы ее решите, мне кажется у меня был не самый лучший подход🫣. Хотелось бы сравнить - Скидывайте код в комментарии😈Немного позже напишу свой вариант под постом в закрытом виде.
ссылка на саму задачу, на ее тесты
Интересно как вы ее решите, мне кажется у меня был не самый лучший подход🫣. Хотелось бы сравнить - Скидывайте код в комментарии😈Немного позже напишу свой вариант под постом в закрытом виде.
🤯2
Вчера захотел пройти всю главу функции. Но посмотрел количество тем и какие они - решил разбить. Оставил на сегодня более сложные темы. Помню раньше с ними были проблемы в понимании, так что лучше не спешить. Я про области видимости, замыкания и декораторы. Думаю пару раз точно материал просмотрю. Ну а ниже опишу что успел прошлым днем.
Сделанное за вчера:
🔘) Чуть больше 2 видеолекций (129 минут, если быть точнее), все еще не лень считать)😄И плюс это же не Докер😂
🔘) Решены все, кроме одной, задачи по этим темам.
🔘) Пройдена глава про функии, частично:
1) Функции: Темы: Что такое функции, объявление и вызов; оператор return, алгоритм Евклида, параметры и аргументы функций, произвольное кол-во параметров в функции (*args, kwargs), операторы *, ** для распаковки коллекций, рекурсивные функции, анонимные (lambda) функции.
Кто захочет более подробно - почитает тут (первые 8 тем слева)
Основные моменты из этого материала:
1) def funс(): pass. func - это лишь ссылка на функцию, а чтобы ее вызвать необходимо после имени добавить (). В ООП потом пригодится.
2) функция всегда что-то возвращает оператором return, по умолчанию это None. Поэтому некоторые методы меняют переменную на месте, а некоторые возвращают новый объект. (методы списков vs методы строк)
3) необходимо отличать параметры функции от аргументов функций. Параметры - это то что передается в функцию, когда мы ее создаем, а аргументы - то, когда вызываем. Т.е. получается, что аргументы функции ссылаются на параметры, заданные при ее объявлении(так, мысли вслух)
4) переменные объявленные в теле функции доступны только в ней (P.S. в самом простом случае, без доп. данных)
5) обязательные(фактические) и необязательные(параметры по умолчанию/формальные). По разному называются, но смысл один. Сначала записываются первые, потом вторые.
6) *args - обязательных параметров, **kwargs - словарь параметров по умолчанию. Так принято называть, если мы создаем функцию и заранее не известно сколько там будет параметров или аргументов при ее вызове.
7) lambda - функция. Функция в одну строчку, без оператора return. Простой формат применения. lambda x, y: x + y. Где слева от двоеточия параметры, которые она принимает, а справа, что возвращает.
8) рекурсивная функция - это та, которая вызывает саму себя, либо в теле функции, либо в операторе return. Но не забывайте условие для выхода в этом случае.
Итоги дня и выводы:
На самом деле это одна из важных тем и лучше ее понимать хорошо. Функции Абсолютно везде используются в программировании. Например, я помню как несколько лет назад мне дали небольшое тестовое и я там нагородил штук 300 кода)А по итогу можно было и за 50, если не меньше, управится. Естественно я дальше не прошёл, но тогда я удивлялся почему же так произошло😂😂😂Благо мне хоть дали обратную связь и сказали про функциональный подход в программировании. Don't Repeat Yourself.
Сделанное за вчера:
🔘) Чуть больше 2 видеолекций (129 минут, если быть точнее), все еще не лень считать)😄И плюс это же не Докер😂
🔘) Решены все, кроме одной, задачи по этим темам.
🔘) Пройдена глава про функии, частично:
1) Функции: Темы: Что такое функции, объявление и вызов; оператор return, алгоритм Евклида, параметры и аргументы функций, произвольное кол-во параметров в функции (*args, kwargs), операторы *, ** для распаковки коллекций, рекурсивные функции, анонимные (lambda) функции.
Основные моменты из этого материала:
1) def funс(): pass. func - это лишь ссылка на функцию, а чтобы ее вызвать необходимо после имени добавить (). В ООП потом пригодится.
2) функция всегда что-то возвращает оператором return, по умолчанию это None. Поэтому некоторые методы меняют переменную на месте, а некоторые возвращают новый объект. (методы списков vs методы строк)
3) необходимо отличать параметры функции от аргументов функций. Параметры - это то что передается в функцию, когда мы ее создаем, а аргументы - то, когда вызываем. Т.е. получается, что аргументы функции ссылаются на параметры, заданные при ее объявлении(так, мысли вслух)
4) переменные объявленные в теле функции доступны только в ней (P.S. в самом простом случае, без доп. данных)
5) обязательные(фактические) и необязательные(параметры по умолчанию/формальные). По разному называются, но смысл один. Сначала записываются первые, потом вторые.
6) *args - обязательных параметров, **kwargs - словарь параметров по умолчанию. Так принято называть, если мы создаем функцию и заранее не известно сколько там будет параметров или аргументов при ее вызове.
7) lambda - функция. Функция в одну строчку, без оператора return. Простой формат применения. lambda x, y: x + y. Где слева от двоеточия параметры, которые она принимает, а справа, что возвращает.
8) рекурсивная функция - это та, которая вызывает саму себя, либо в теле функции, либо в операторе return. Но не забывайте условие для выхода в этом случае.
Итоги дня и выводы:
На самом деле это одна из важных тем и лучше ее понимать хорошо. Функции Абсолютно везде используются в программировании. Например, я помню как несколько лет назад мне дали небольшое тестовое и я там нагородил штук 300 кода)А по итогу можно было и за 50, если не меньше, управится. Естественно я дальше не прошёл, но тогда я удивлялся почему же так произошло😂😂😂Благо мне хоть дали обратную связь и сказали про функциональный подход в программировании. Don't Repeat Yourself.
proproprogs.ru
#35. Функции: первое знакомство, определение def и их вызов | Python для начинающих
Узнаете, что такое функции в Python, зачем они нужны в программировании, как объявить свою собственную функцию и вызвать ее.
👍4